Имя: Пароль:
1C
 
Ошибка преобразования datetime из символьной строки.
0 acsbaks
 
02.03.11
10:29
День добрый всем, запрос у меня такой
"
|select
|    $СпрСк.Цена as [Цена]
|from
|    $Справочник.ЦеныКонтракт as СпрСк
|where
|    ($СпрСк.Покупатель=:Кл) and
|    ($СпрСк.Товар=:Тов) and
|    ($СпрСк.ДатаНачала<=:Дат~) and
|    ($СпрСк.ДатаОкончания<=:ПДат)"

И выдается данная ошибка, самое интересное, что если в строке
|    ($СпрСк.ДатаОкончания<=:ПДат)
Меняю знак меньше на больше - работает без ошибок!
Поля ДатаНачала и Датаокончания - тип Дата!
1 ДенисЧ
 
02.03.11
10:32
Запрос.Отладка(1)
и покажи вывод
2 Ёпрст
 
гуру
02.03.11
10:33
(0) :Дат~~ ..... ПДат~~
3 acsbaks
 
02.03.11
10:34
select
   СпрСк.sp3256 as [Цена],
   0 as poriadok
from
   sc3258 as СпрСк
where
   (СпрСк.sp3255='   16ZP03') and
   (СпрСк.sp3254='   4LKP03') and
   (СпрСк.sp3374<='20110302Z') and
   (СпрСк.sp3373<='20110302')

Смотрел я на это но ничего не узрел :)
4 Ёпрст
 
гуру
02.03.11
10:35
(3) убери вообще модификатор у :Дат
5 acsbaks
 
02.03.11
10:35
(2) Неа, нипомогло
6 АЛьФ
 
02.03.11
10:36
Случаем не 2008-й SQL?
7 acsbaks
 
02.03.11
10:37
(4) Оооо.... странно все это но заработало
8 acsbaks
 
02.03.11
10:37
(6) 2005
9 acsbaks
 
02.03.11
10:38
(4) Спасибо за совет
10 Ёпрст
 
гуру
02.03.11
10:39
(7) да ничего странного:

модификатор для:
0: char(8) - каноническое представление даты;
1: char(9) - каноническое представление даты + символ "Z" (используется для обозначения момента времени конца этой даты);
2: datetime.

пример:
:ДатаНачала = '20030613'
:ДатаКонца ~ = '20030613Z'
:ДатаКонца ~~ = {d '2003-06-13'}
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший