Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Вниз

Проблема с датой   Найти похожие ветки 

 
VadimSpb   (2006-07-31 08:03) [0]

Добрый день!
Делаю запрос
INSERT INTO Table1 (Data) SELECT 38929
В MSSQL при просмотре таблицы это число является датой 02.08.2006 0:00:00
Если DateTimePicker.Date := 38929, то получаем 31 июля 2006.
Почему получается "временной перекресток"?


 
Fay ©   (2006-07-31 08:30) [1]

патамушта ты лапух
P.S.
select cast(0 as datetime)
ShowMessage(DateToStr(0))


 
sniknik ©   (2006-07-31 08:35) [2]

точка отсчета у дат в дельфи и в mssql различается. и не только у них, потому даты числами(тип) передавать не стоит, а при передаче датой делается коррекция.


 
Ega23 ©   (2006-07-31 09:33) [3]

В MSSQL точкой отсчёта (0) является 01.01.1900, а у Борланда - 30.12.1899


 
sniknik ©   (2006-07-31 10:44) [4]

> а у Борланда - 30.12.1899
не только у него, проверь при конекте к mdb (jet) - SELECT CDate(0)
хотя это вроде бы тоже мелкософт как и mssql. т.е. это не признак компании типа у одной одно у другой свой формат, а просто какаято историческая необходимость ... для accecc возможно потому как он вроде как замена парадоксу, а парадокс имел такой. борланд тоже может не сам решил, "давайте у нас на два дня отличатся будет", а получил в наследство от тех у кого парадокс купил, ну а дальше пошло "по накатаной".
а может наоборот, mssql в мелкософте решили "отличить"... в общем факт отличия есть, а вот почему...  но не признак компании точно.


 
Ega23 ©   (2006-07-31 10:53) [5]

Короче, пользуйтесь параметрами...   :о)


 
Desdechado ©   (2006-07-31 11:28) [6]

Точки отсчета пошли, имхо, от способа хранения дат в файловых системах разных операционок.


 
sniknik ©   (2006-07-31 12:42) [7]

> Короче, пользуйтесь параметрами...   :о)
воистину!

> от способа хранения дат в файловых системах разных операционок.
см. выше mssql & access операционка в которой "родились" одна, точка отсчета разная.

просто чтоб не парится, обьяснение - "так исторически сложилось...", и все. ;)


 
VadimSpb   (2006-07-31 14:02) [8]

Спасибо, предположение подтвердилось.
Параметры использовать неудобно, т.к. запрос формируется динамически.


 
Max Zyuzin ©   (2006-07-31 14:10) [9]

>VadimSpb   (31.07.06 14:02) [8]
Это почему неудобно? Параметры использовать очень правильно и очень даже нужно...


 
Fay ©   (2006-07-31 14:20) [10]

2 Max Zyuzin ©   (31.07.06 14:10) [9]
> очень даже нужно...
Для запросов, которые препарятся 1 раз, смысла не очень много...


 
VadimSpb   (2006-07-31 14:37) [11]

Никто не спорит о пользе параметров. В моем конкретном случае это неудобно, использую другое решение, т.к. запрос может содержать неизвестное количество дат.
Всем спасибо.


 
Stanislav ©   (2006-07-31 14:51) [12]

Всегда правильный формат даты: 20060727 (yyyymmdd)


 
Anatoly Podgoretsky ©   (2006-07-31 19:55) [13]

Fay ©   (31.07.06 14:20) [10]
Смысла может быть и не много, точнее смысла без параметров совсем мало, разве что в очередной раз на грабли наступить.


 
Anatoly Podgoretsky ©   (2006-07-31 19:56) [14]

VadimSpb   (31.07.06 14:37) [11]
Неужели неизвестное количество дат представляет хоть какую то сложность, да и думаю, что не такое уж и неизвестное, как бы ты тогда запрос постороил?


 
VadimSpb   (2006-07-31 20:01) [15]

Согласен :-))
Уже так и сделал.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.014 c
8-1142090760
Endor
2006-03-11 18:26
2006.10.01
OGG, WMA


2-1157878455
Calibr
2006-09-10 12:54
2006.10.01
CreatePolygonRgn


4-1148653403
salexn
2006-05-26 18:23
2006.10.01
Получить Handle для файла SOFTWARE.LOG


1-1155885997
Mechanic
2006-08-18 11:26
2006.10.01
Отрисовка Формы


2-1157697536
Grid
2006-09-08 10:38
2006.10.01
Dbgrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский