我有以下查詢:SQL服務器日期轉換給錯誤
select A.ACCOUNT_NUM,
convert(date, B.EFFECTIVE_DATE, 112) as 'EFFECTIVE_DATE',
B.INTEREST_RATE
from Table1 A
left join Table2 B
on A.ACCOUNT_NUM = B.ACCOUNT_NUM
ACCOUNT_NUM是兩個表中VARCHAR(12),EFFECTIVE_DATE爲varchar(8),格式爲 '20131018' 這是給我'轉換日期和/或時間字符串時轉換失敗'。如果我運行沒有轉換的查詢,它運行良好。
但是我使用ISDATE()檢查了EFFECTIVE_DATE的內容,並且沒有任何問題。 另外,如果我做到以下幾點:
select A.ACCOUNT_NUM,
B.EFFECTIVE_DATE,
B.INTEREST_RATE
into #temp
from Table1 A
left join Table2 B
on A.ACCOUNT_NUM = B.ACCOUNT_NUM
select convert(date, EFFECTIVE_DATE, 112)
from #temp
它正確,沒有錯誤列到日期格式轉換。 我錯過了什麼,這讓我發瘋,我確信它非常簡單!
感謝
我嘗試了這兩個建議,但沒有發現異常。 –
你是否從我的第一個查詢中得到任何錯誤? – Kaf
不是所有返回的日期都是從今年開始如預期的那樣 –