Имя: Пароль:
1C
1C 7.7
v7: Запрос к SQL возвращает не то значение
0 Patrio_
O_Muerte
 
27.09.11
16:26
Есть таблица, в которой есть поля типа datetime, если смотреть на них напрямую в скуле, значение выглядит в виде "2011-09-15 12:54:35.000".
Если я делаю запрос из 1с77, вида:

Соединение = СоздатьОбъект("ADODB.Connection");
ConnectionString = "driver={SQL Server}; server=server; uid=sa; pwd=123; Database=logs";
Соединение.ConnectionTimeOut =600;
Соединение.CursorLocation = 3;
try
   Соединение.Open(ConnectionString);
except
       
endtry;
   
RS = CreateObject("ADODB.RecordSet");
RS.ActiveConnection = Соединение;
RS.Open(Запрос);
While RS.EOF()=0 do
RS.Fields("time_upl_zv_srv").Value
...
возвращает мне значение вида "2011-09-15", то есть время обрезается.
Каким образом получить полное значение поля "датавремя"?
1 Кириллка
 
27.09.11
17:59
(0)кастануть к строке.
2 Mikeware
 
27.09.11
18:07
кастуй к строке...
3 Patrio_
O_Muerte
 
28.09.11
09:18
Благодарю за подсказку.
Наткнулся на следующую проблему:

cast([time_cr_zv_palm]as nvarchar(30)) as time_cr_zv_palm

convert(nchar(30), [time_prov_rn_1c]) as time_prov_rn_1c

возвращают дату время, но в время идет в пределах 12 часов, а для обозначения день/ночь в конце строки идет AM или PM.
То есть время вида:
2011-09-27 15:54:58.000
представляется в виде:
сен 27 2011  3:54PM.
Как его убедить показать порядочное время?
4 Darych
 
28.09.11
09:37
попробуй так
convert(nvchar(30), [time_prov_rn_1c], 108) as time_prov_rn_1c
5 Patrio_
O_Muerte
 
28.09.11
09:49
(4)Спасибо, я уже 13 параметр добавил.
BOL - цука умный.
6 Patrio_
O_Muerte
 
28.09.11
10:32
Чет хрень какая-то на самом деле этот 13..
А 108, да на самом деле время возвращает.
7 Кириллка
 
28.09.11
10:46
Это уже предлагали?

convert(char(19), [time_prov_rn_1c], 120) as time_prov_rn_1c
8 Patrio_
O_Muerte
 
28.09.11
11:09
(7)Кстати вариант, но я уже сделал следующим образом:
,convert(nchar(30), [time_cr_zv_1c],5) as time_cr_zv_1c_d
,convert(nchar(30), [time_cr_zv_1c],108) as time_cr_zv_1c_t
Все равно постановка задачи изменилась - разделить дату и времени.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.