ADO: Как получить дату и время из поля TIMESTAMP?
☑
0
romix
27.10.04
✎
22:09
Сервер InterBase.
Пытаюсь получить значение из поля типа TIMESTAMP,
(надо и дату и время), а возвращает только дату.
Кто-нибудь сталкивался?
1
427
27.10.04
✎
22:19
почитай в хелпе к дельфям. Там было... Навскидку не помню...
2
romix
27.10.04
✎
23:46
(1) Мне-то нужно из 1С...
Вот парюсь уже не знаю сколько...
На других форумах - только вопросы (в 2000, 2002 годах).
Видимо, никто не знает. :-)
3
SKrin
28.10.04
✎
08:29
если я понимаю правильно, то тебе нужно из '27.10.04 23:46:48' вытащить и дату и время. Ну дату можно выделить Дата(), а вот с временем запарки. Мне приходилось преобразовывать его в строку, а потом уже эту строку по частям обрабатывать. Геморно конечно, но в 1с77 нет такого понятия как дата-время.
4
SKrin
28.10.04
✎
08:35
Еще попробуй ч/з Басик: Hour(),Minute(),Second()
5
romix
28.10.04
✎
19:01
Поборол через GetString:
Запрос="SELECT N,LOGTYPE,EV_N,POBJ_N,CLI_N,DT from LOGTAB where (DT>="+
глПолнаяДата(НачДата)+") and (DT<="+глПолнаяДата(КонДата+1)+")";
Сообщить1("Запрос: "+Запрос);
НаборЗаписей=DBConn.Execute(Запрос);
сп=СоздатьОбъект("СписокЗначений");
Пока НаборЗаписей.Eof()=0 Цикл
стр=""""+НаборЗаписей.GetString(2,1, """, """, ",")+"""";
сп.ИзСтрокиСРазделителями(стр);
N=Число(сп.ПолучитьЗначение(1));
LOGTYPE=сп.ПолучитьЗначение(2);
EV_N=Число(сп.ПолучитьЗначение(3));
POBJ_N=Число(сп.ПолучитьЗначение(4));
CLI_N=Число(сп.ПолучитьЗначение(5));
DT=СокрЛП(сп.ПолучитьЗначение(6));
DT теперь воспринимается как надо.
Этот же способ помог поборот ошибку в Oracle (с типом DECIMAL).
Через Ж. конечно, но работает...
6
romix
29.10.04
✎
01:55
Есть еще способ -
SELECT CAST(ИмяПоля1 AS VARCHAR(20)) ИмяПоля1, ИмяПоля2 from ИмяТаблицы
...
т.е. явно приводить тип при запросе.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс