1
我有一個字符串字段dob具有各種格式的birthdates,例如在SQL中標準化日期。算術溢出
DOB
1945年7月1日
1967年1月7日
13 1956年5月
8 1947年5月
1953年9月27日
1952年3月25日
我有試圖使用MS SQL 2005創建標準化日期字段
select convert(datetime,dob,103)
from myTable
我得到算術溢出似乎與最後一個值相關聯,大概是因爲它試圖將25轉換爲一個月,當它是一天 我試過 設置語言英國和其他各種風格沒有成功
有什麼建議嗎?
感謝。我認爲問題在於103風格。但是,當我將它應用到整個表格時,我仍然遇到同樣的錯誤。只有單一年,空值和空白似乎不會造成問題。無論如何,SQL可以識別導致錯誤的行,以便我可以修復/排除它們 – pssguy
容易但不保證工作的解決方案是添加一個where子句,如WHERE ISDATE( T.dob)> 0' Aaron Bertrand對我的類似[問題]有一個很好的解釋+方法(http://dba.stackexchange.com/questions/5312/conversion-of-varchar-data-to-datetime-failing) – billinkc
謝謝我剛到達相同的解決方案! – pssguy