Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.28;
Скачать: CL | DM;

Вниз

Как перевести значение TDateTime в цифровой формат MS SQL?   Найти похожие ветки 

 
Aleksandr ©   (2002-10-07 13:49) [0]

Замучился я, люди... На разных компьютерах, как ни форматируй строку с датой и временем, SQL-сервер все равно по-разному воспринимает. Сначала он в упор путал месяцы и дни, когда я добавил в ExecQuery SET DATEFORMAT mdy, он путать перестал... Зато начал нервно относиться к сепараторам. На одной машине ему не нравятся слэши, на другой - точки, на третьей - дефисы... Он прекрасно понимает на любой машине, когда ему подаешь дату в виде цифры (дельфийскому TDateTime отнимаю 2, на это моего английского в чтении хелпа хватило), но я так и не смог въехать, как ему отконвертировать в получаемое число время из Дельфийского формата... Помогите, как перевести TDateTime в DateTime!


 
Johnmen ©   (2002-10-07 14:05) [1]

Передавай через параметры...


 
3JIA9I CyKA ©   (2002-10-07 14:11) [2]

МыЛо у тебя какое?


 
Best Before 2024   (2002-10-07 14:13) [3]

Привести к универсальному формату:

function StrSQLDateTime(D : TDateTime; Format : TSQLDateTimeFormat = dtfDateTime) : String;
begin
Result := "";
case Format of
dtfDateTime :
begin
DateTimeToString(Result, "yyyy-mm-dd hh:mm:ss", D);
Result := "{ ts """ + Result + """}";
end;
dtfDate :
begin
DateTimeToString(Result, "yyyy-mm-dd", D);
Result := "{ d """ + Result + """}";
end;
dtfTime :
begin
DateTimeToString(Result, "hh:mm:ss", D);
Result := "{ t """ + Result + """}";
end;
end;
end;


 
3JIA9I CyKA ©   (2002-10-07 14:15) [4]

Ку?
"20021007 14:14:14.840"


 
LordOfSilence ©   (2002-10-07 14:16) [5]

Aleksandr, извините, если немного невпопад:
запустите "Программа сетевого клиента SQL Server"
(client network utility, X:\WINNT\SYSTEM32).
Вкладка "Параметры библиотеки DB",
переключатель "Использовать национальные настройки".
Может это поможет?


 
Hooch ©   (2002-10-07 14:20) [6]

так TDateTime и есть DateTime (вроди как double по сути), зачем конвертировать или я что то не понял ?


 
Aleksandr ©   (2002-10-07 14:48) [7]

Всем спасибо!
Сорри, въехал с дробной частью... она оказывается, одинакова у обоих типов.
SQL Datatime = Delphi TDataTime-2, а остальное совпадает.

Best Before 2024: Спасибо за обстоятельный код, узнал много нового... Просто хотелось сделать минимально просто.

2 Hooch: написанная мною формула и есть конвертация, если Вы посмотрите на данные в Делфи и ЭсКуЭл, то увидите, что одна и та же цифра для даты/времени ими понимается по-разному.

LordOfSilence: ну, просто не хотелось, чтобы работа программы зависела от персональных настроек на компьютере. Это я помню, чего надо настраивать, а если будет другой программист после меня, он может долго ковыряться в поисках ошибки.



Страницы: 1 вся ветка

Текущий архив: 2002.10.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
6-92628
INCOGNITO
2002-08-05 03:10
2002.10.28
FTP... Закачка файлов


1-92483
vlv
2002-10-18 11:05
2002.10.28
Как лучше использовать Delphi-компонент в MS Visual C++ ?


1-92485
AlexeyMir
2002-10-18 11:02
2002.10.28
Сортировка в ListView


3-92321
big_bugzy
2002-10-04 16:13
2002.10.28
insufficient key column information


3-92350
korn
2002-09-28 13:13
2002.10.28
Не наращивается автоинкрементальное поле