0
我得到一個錯誤:SQL服務器ISDATE檢查工作不正常
Conversion failed when converting date and/or time when converting from character string
用下面的代碼:
select
case
when isdate('19' + left(somestring, 6)) = 1
then cast('19' + left(somestring, 6) as date)
end
from
sometable
誰能告訴我什麼,我做錯了什麼?
另外,我將如何去看看導致錯誤的字符串?
你能表現出一定的樣本數據 – TheGameiswar
在我的例子somestring的前10個值不給錯誤都開始用「000101」,併成功轉換爲'1900-01-01'。基本上我期待前6位數字的格式爲yymmdd並添加'19'來形成一個ccyymmdd日期字符串。不是所有的字符串都符合這種格式,因此isdate()檢查不符合我的預期。我不知道如何找到違規字符串的價值? –
嘗試像這樣嘗試'TRY_CAST('12/31/2010'AS date)' – TheGameiswar