Имя: Пароль:
IT
 
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 ИмяТаблицы
...
т.е. явно приводить тип при запросе.