Что-то завис на простом фильтре по дате 1с++
SELECT
Влож.ID [Ссылка $Справочник.Категории]
, datepart(day, Влож.myDate) _1
FROM
(SELECT Категории.ID ID
, CAST(RTRIM($Категории.Комментарий) AS DATETIME) myDate
FROM $Справочник.Категории AS Категории With (NOLOCK)
LEFT JOIN $Справочник.Категории AS Гр3 With (NOLOCK) ON Гр3.ID = Категории.PARENTID
LEFT JOIN $Справочник.Категории AS Гр2 With (NOLOCK) ON Гр2.ID = Гр3.PARENTID
LEFT JOIN $Справочник.Категории AS Гр1 With (NOLOCK) ON Гр1.ID = Гр2.PARENTID
WHERE ((Гр1.ID = :ВыбРодитель) OR (Гр2.ID = :ВыбРодитель) OR (Гр3.ID = :ВыбРодитель))
AND (Категории.ISMARK = 0)
) Влож
--WHERE
-- (Влож.myDate >= :Д1)
-- AND (Влож.myDate < :Д2)
без условий робит, с условием начинает материться на "Ошибка преобразования даты или времени из символьной строки"
пробовал кавычки добавлять :Д1~ и :Д1~~ нифига не помогает
где собака зарыта?
Почему тут работает, а в (0) не работает?
SELECT _1
FROM
(SELECT
CAST(DATE1 AS DATETIME) _1
FROM
(SELECT '20150101' Date1
UNION ALL
SELECT '20150201' Date1
UNION ALL
SELECT '20150301' Date1
UNION ALL
SELECT '20150401' Date1
UNION ALL
SELECT '20150501' Date1
UNION ALL
SELECT '20150601' Date1
UNION ALL
SELECT '20150701' Date1
UNION ALL
SELECT '20150801' Date1
UNION ALL
SELECT '20150901' Date1
UNION ALL
SELECT '20151001' Date1
) Влож
) влож2
WHERE
--CAST(DATE1 AS DATETIME) > :Д1
влож2._1 > :Д1
Дата
0: char(8) - каноническое представление даты;
1: char(9) - каноническое представление даты + символ “Z” (используется для
обозначения момента времени конца этой даты);
2: datetime.