Страница 1 из 1

Работа с датами в FB

Добавлено: 11 апр 2006, 10:47
Zhur
Добрый день...
Хочу поближе познакомиться с TIMESTAMP в FB2.0.
Конкретно - как лучше быть с региональными настройками и созданием SQL-запросов в клиентском приложении.
Думаю, что все прекрасно понимают о чем я.
Уважаемые, а у Вас нигде не имеется подобная ссылочка? Буду учиться читать 8)

Добавлено: 11 апр 2006, 13:03
Merlin
Самое простое решение - не связываться с форматами вообще и передавать даты как параметры соответствующего типа, а не строки. Если по каким-то причинам это совсем уж неудобно, то либо писать на клиенте процедурку опознавания формата и переформатирования строк в один из принимаемых FB жёстких форматов и гонять строки в запросы через неё, либо насильно управлять локалью/форматом внутри приложения через WinAPI и приводить приложение к требуемой локали.

Добавлено: 11 апр 2006, 13:22
Zhur
Merlin писал(а):Самое простое решение - не связываться с форматами вообще и передавать даты как параметры соответствующего типа, а не строки.
Как в таком случае построить запрос
SELECT * FROM MYTABLE T WHERE T.MYDATETIME BETWEEN DATETIME1 and DATETIME2
не используя хранимых процедур?
Сейчас я делаю вот так
IBQuery.SQL.Add('SELECT * FROM MYTABLE T WHERE T.MYDATETIME BETWEEN '+DateTimeToStr(var1)+' AND '+DateTimeToStr(var2)');

Добавлено: 11 апр 2006, 13:29
Dimitry Sibiryakov
Вот так:
SELECT * FROM MYTABLE T WHERE T.MYDATETIME BETWEEN :DATETIME1 and :DATETIME2
и потом
Query.Prepare; // где-нибудь
.....
Query.ParamByName('DATETIME1').AsDateTime := Var1;
Query.ParamByName('DATETIME2').AsDateTime := Var2;

Добавлено: 11 апр 2006, 13:30
Zhur
УсЁ понял. Спасибо.