0
我試圖運行一個查詢,返回一組結果的日期比今天少,不包括某些日期。出於某種原因,我的結果包括未來的日期(例如2016年,2025年,2030年等)。SQL日期條件
我在做什麼錯?
SELECT DISTINCT
LTRIM(RTRIM(term_date)) as term_date
FROM [IMR].[PERSON].[vwIMRDetailMostRecent]
WHERE emp_description = 'active'
AND CONVERT(char(8),LTRIM(RTRIM(term_date)),1) < CONVERT(char(8),GETDATE(),1)
AND CONVERT(char(8),LTRIM(RTRIM(term_date)),1) <> '01/01/01'
AND CONVERT(char(8),LTRIM(RTRIM(term_date)),1) <> '01/01/00'
AND CONVERT(char(8),LTRIM(RTRIM(term_date)),1) <> ''
ORDER BY term_date desc
如果term_date是日期/ datetime列,那麼你可以簡單地說 「... AND term_date
語法看起來非常多sqlserver-ish,所以我假設。另外,看到您也修剪term_date屬性時,它可能不是日期時間字段。如果它沒有返回正確的記錄,它可能不是很好的格式。你可以試試它如何響應轉換爲日期時間。 – HoneyBadger
謝謝HoneyBader那是問題所在。 Term_Date屬於數據類型varchar,當我將它轉換爲datetime時,根據我的條件,結果是正確的。謝謝! – BPurchell