3 回答

TA貢獻2003條經(jīng)驗 獲得超2個贊
您可以使用SET DATEFORMAT保證日期-月份-年份的訂單。這意味著ISDATE會將“ 15-07-2009”解析為2009年7月15日
否則,鑒于外部限制,您的方法就足夠好了...但是您也可以重新排序為ANSI / ISO。
在marc_s回答之后:“ SET DATEFORMAT dmy”適用于大多數(shù)歐洲設置...
好:
SET LANGUAGE british
SELECT ISDATE('2009-07-15') --this is ansi says marc_s. It gives "zero"
SELECT ISDATE('2009-07-15T11:22:33') --this really is ANSI and gives true
SET LANGUAGE german
SELECT ISDATE('2009-07-15') --false
SELECT ISDATE('2009-07-15T11:22:33') --true

TA貢獻1873條經(jīng)驗 獲得超9個贊
我的系統(tǒng)處于受控環(huán)境中,不會出現(xiàn)瑞士-德國日期轉(zhuǎn)換問題。我確實喜歡嘗試捕捉的想法。我可能會刪除IF ISDATE()和@Temp,然后在執(zhí)行SET @ Destination = LEFT(@ Source,2)+'/'+ SUBSTRING(@ Source,3,2)時捕獲轉(zhuǎn)換錯誤(如果有的話) +'/'+ RIGHT(@ Source,4)
- 3 回答
- 0 關(guān)注
- 458 瀏覽
添加回答
舉報