Имя: Пароль:
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 ИмяТаблицы
...
т.е. явно приводить тип при запросе.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn