Форум: "Базы";
Текущий архив: 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