У меня есть таблица, где даты хранятся в виде текста, потому что это поле также может хранить что-то еще.two date comparisn дает Conversion не удалось при преобразовании даты и/или времени из символьной строки
Мне нужно вывести строки с датой в этом поле, и эта дата должна быть в пределах + 2 месяцев.
Мой запрос:
;WITH sel AS (SELECT t1.ItemUserID, t3.Omschrijving AS Hoofditem,
t4.Omschrijving AS Subitem, t2.Omschrijving AS SubItemonderdeel,
CONVERT(DATE,t1.subitemwaarde) AS subitemwaarde,
CONVERT(DATE,DATEADD(month, 2, CONVERT(DATE,GETDATE(),101))) as now_plus_2
FROM MainDataTable AS t1
LEFT JOIN SubItemsOnderdelen AS t2 ON t1.SubItemonderdeel=t2.Code
LEFT JOIN HoofdItemOnderdelen AS t3 ON t1.Hoofditem = t3.Code
LEFT JOIN ItemData AS t4 ON t1.subitem=t4.itemcode
WHERE t2.Omschrijving LIKE 'expires on'
and ISDATE(t1.SubItemWaarde) = 1)
SELECT * FROM sel AS t2
Если я запускаю это, я получаю таблицу со всеми данными, последние два столбца показывают даты и даты столбцов.
Когда я добавляю ГДЕ t2.subitemwaarde < t2.now_plus_2 к последнему ЗЕЬЕСТУ, я получаю ошибку:
«Конверсия удалась при преобразовании даты и/или времени из символьной строки»
Зачем? Что я делаю не так?
rg. Eric
Это сделало трюк. Благодаря! – Eric