날짜가 텍스트로 저장되는 테이블이 있습니다.이 필드는 다른 필드도 저장할 수 있기 때문에 텍스트가 저장됩니다.날짜 비교 2 개를 사용하면 문자열에서 날짜 및/또는 시간을 변환 할 때 변환이 실패했습니다.
해당 필드에 날짜가있는 행을 추출해야하며이 날짜는 현재 + 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
나는 이것을 실행하면, 나는 마지막 두 개의 열이 날짜가 표시되는 모든 데이터 테이블을 얻고 날짜 열입니다. 마지막 SELECT 문에 t2.subitemwaarde < t2.now_plus_2 , 내가 오류가 어디 를 추가
는 :
"문자열에서 날짜 및/또는 시간을 변환 할 때 변환 실패" 왜? 내가 도대체 뭘 잘못하고있는 겁니까?
rg. 에릭
그건 속임수 였어. 감사! – Eric