Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
ВнизКак TDateTime конвертнуть в формат MS SQL DateTime? Найти похожие ветки
← →
Aleksandr (2002-06-04 18:07) [0]Понадобилось тут... А то программа, вставляющая запрос типа
WHERE DateTimeField<"""+DateToStr(Date)+""""
на англоязычном компьютере как-то странно эту самую дату воспринимает...
← →
Gerakl (2002-06-04 18:16) [1]Если запрос через TQuery то:
select ....
from....
where DateTimeField < :MyDate
а потом:
TQuery.ParamByName("MyDate").AsDateTime := Date;// Date - нужная дата
далее..
TQuery.Open;
← →
McSimm (2002-06-04 18:19) [2]Используй
FormatDateTime("#mm"/"dd"/"yyyy hh":"mm#", D)
Универсальный формат даты/времени - от языка не зависит
← →
Aleksandr (2002-06-04 18:34) [3]2 Gerakl
Спасибо, вариант хороший!
2 McSimm
Так... что-то я не понял... В запрос он ведь все равно уйдет текстовой строкой типа "06/04/2002 00:00"? В чем его универсальность, в смысле, где гарантия, что SQL Server его воспримет именно что первое - это месяц, второе - день?
← →
McSimm (2002-06-04 18:46) [4]Извиняюсь, привел универсальный формат для Аксеса.
(кстати, ты забыл про #..#)
Для MS-SQL универсальный формат выглядит так:
FormatDateTime("yyyymmdd hh:nn", D)
FormatDateTime("yyyymmdd", D)
← →
Aleksandr (2002-06-05 13:39) [5]Вот тебе и раз... новые новости...
Попробовал по методу Gerakl - SQL Server тут же матюгнулся на запрос - видимо, неявная конвертация при присвоении
ParamByName("Date1").AsDateTime:=Date все же происходит, а проблема с попыткой воспринять 28 как месяц имела место...
Ладно, будем пробовать форматировать... хотя наверное, функция конвертации Delphi TDateTime в SQL Server DateTime надежнее...
← →
Aleksandr (2002-06-05 14:44) [6]Да, и насчет форматирования:
SELECT ID1, ID2 FROM Table1
WHERE Date1<"20020605"
в программе при трассировке количество записей, возвращенных в этом запросе = 1184. А в Query Analizer этот запрос возвращает 158 записей... Так что фигня с форматированием...
← →
McSimm (2002-06-05 15:30) [7]Ерунда какая-то.
И через параметр, и с форматированием должно работать.
Такой вопрос - Connect к серверу случайно не через ODBC провайдера?
Очень на это похоже...
← →
McSimm (2002-06-05 15:37) [8]В догонку - есть еще способ.
Для каждого коннекта можно задавать формат даты, если выполнить (один раз после Connect)
ADOConnection.Execute("SET DATEFORMAT mdy").
Тогда все строковые форматы даты (кроме универсального) через данный коннект будут рассматриваться как указано в SET
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c