![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с датой [MSSQL]
VadimSpb © (2006-07-31 08:03:00)Добрый день!
Делаю запрос
INSERT INTO Table1 (Data) SELECT 38929
В MSSQL при просмотре таблицы это число является датой 02.08.2006 0:00:00
Если DateTimePicker.Date := 38929, то получаем 31 июля 2006.
Почему получается "временной перекресток"?
VadimSpb (2006-07-31 20:01:00) [1]Согласен :-))
Уже так и сделал.
Anatoly Podgoretsky (2006-07-31 19:56:00) [2]VadimSpb (31.07.06 14:37) [11]
Неужели неизвестное количество дат представляет хоть какую то сложность, да и думаю, что не такое уж и неизвестное, как бы ты тогда запрос постороил?
Anatoly Podgoretsky (2006-07-31 19:55:00) [3]Fay © (31.07.06 14:20) [10]
Смысла может быть и не много, точнее смысла без параметров совсем мало, разве что в очередной раз на грабли наступить.
Stanislav (2006-07-31 14:51:00) [4]Всегда правильный формат даты: 20060727 (yyyymmdd)
VadimSpb (2006-07-31 14:37:00) [5]Никто не спорит о пользе параметров. В моем конкретном случае это неудобно, использую другое решение, т.к. запрос может содержать неизвестное количество дат.
Всем спасибо.
Fay (2006-07-31 14:20:00) [6]2 Max Zyuzin © (31.07.06 14:10) [9]
> очень даже нужно...
Для запросов, которые препарятся 1 раз, смысла не очень много...
Max Zyuzin (2006-07-31 14:10:00) [7]>VadimSpb (31.07.06 14:02) [8]
Это почему неудобно? Параметры использовать очень правильно и очень даже нужно...
VadimSpb (2006-07-31 14:02:00) [8]Спасибо, предположение подтвердилось.
Параметры использовать неудобно, т.к. запрос формируется динамически.
sniknik (2006-07-31 12:42:00) [9]> Короче, пользуйтесь параметрами... :о)
воистину!
> от способа хранения дат в файловых системах разных операционок.
см. выше mssql & access операционка в которой "родились" одна, точка отсчета разная.
просто чтоб не парится, обьяснение - "так исторически сложилось...", и все. ;)
Desdechado (2006-07-31 11:28:00) [10]Точки отсчета пошли, имхо, от способа хранения дат в файловых системах разных операционок.
Ega23 (2006-07-31 10:53:00) [11]Короче, пользуйтесь параметрами... :о)
sniknik (2006-07-31 10:44:00) [12]> а у Борланда - 30.12.1899
не только у него, проверь при конекте к mdb (jet) - SELECT CDate(0)
хотя это вроде бы тоже мелкософт как и mssql. т.е. это не признак компании типа у одной одно у другой свой формат, а просто какаято историческая необходимость ... для accecc возможно потому как он вроде как замена парадоксу, а парадокс имел такой. борланд тоже может не сам решил, "давайте у нас на два дня отличатся будет", а получил в наследство от тех у кого парадокс купил, ну а дальше пошло "по накатаной".
а может наоборот, mssql в мелкософте решили "отличить"... в общем факт отличия есть, а вот почему... но не признак компании точно.
Ega23 (2006-07-31 09:33:00) [13]В MSSQL точкой отсчёта (0) является 01.01.1900, а у Борланда - 30.12.1899
sniknik (2006-07-31 08:35:00) [14]точка отсчета у дат в дельфи и в mssql различается. и не только у них, потому даты числами(тип) передавать не стоит, а при передаче датой делается коррекция.
Fay (2006-07-31 08:30:00) [15]патамушта ты лапух
P.S.
select cast(0 as datetime)
ShowMessage(DateToStr(0))