Форум: "Базы";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];
ВнизКак перевести значение 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c