我在如下面的柱中的一個數值:ISDATE沒有驗證正確的日期
C_Date - Varchar(10)
00030503
10030503
當我使用ISDATE函數在該列上,它被作爲retruning有效的日期(即,1)。 我如何確保ISDATE返回0?
Declare @c_date varchar(10)
Set @c_date =00030503
select case when ISDATE(@c_date)=0 then 'invalid' else 'valid' end
請問您能糾正我嗎?
當我從表中的列應用相同的條件,它不起作用。這是給我的有效日期。例如: 我有一個與080203的日期,爲此我期待invlid結果,它正在與上面的查詢,但是當我把相同的列從表中,它是給有效的結果。
@jpw他們呢?你如何解釋第一個 - >'00030503'? – 2014-09-23 16:00:14
@Nadeem_MK我不好,忘了日期時間範圍從1753-01-01開始,不同於從0001-01-01開始的日期。我會將00030503解釋爲5月3日3年,但我知道MSSQL不會。 – jpw 2014-09-23 16:03:21
我只是複製並粘貼你發佈的查詢並得到'invalid'作爲結果 – 2014-09-23 16:12:16