Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.007 c
1-55088
Dmitry Sheenok
2002-06-03 18:28
2002.06.17
HEX-код буквы


3-55028
Esipenko
2002-05-23 11:58
2002.06.17
Шифрование таблиц


3-54983
HDD
2002-05-20 06:18
2002.06.17
Помогите далекой Камчатке


14-55312
Serhy
2002-05-16 02:56
2002.06.17
Легенды о Камелоте, короле Артуре и рыцарях Круглого Стола.


7-55334
Макшанов Максим
2002-03-21 22:58
2002.06.17
Работа с ком портами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский