Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-92596
Gari
2002-10-16 08:33
2002.10.28
Инспектор объектов


1-92441
Anar
2002-10-17 22:40
2002.10.28
HDDs


1-92581
Anar
2002-10-17 01:11
2002.10.28
BMP2JPG


14-92674
RV
2002-10-07 17:34
2002.10.28
С помощью куков возможна хакерская атака?


14-92693
Anatoly Podgoretsky
2002-10-07 21:31
2002.10.28
Именинники 8 октября





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