私は、様々なフォーマットの生年月日を持つ文字列フィールドdobを持っています。SQLで日付を標準化しています。算術オーバーフロー
DOB
1945年7月1日
1967年1月7日
1956年5月13日
1947年5月8日
1953年9月27日
1952年3月25日
私が持っていますMS SQL 2005を使用して標準化された日付フィールドを作成しようとしました
select convert(datetime,dob,103)
from myTable
最後の値に関連付けられていると思われる算術オーバーフローが発生します。これは、おそらく25日を1日に変換しようとしているからです。 私は を英国と様々な他のスタイル成功なし
お勧めはありますか?
感謝。私は問題が103スタイルであったと思う。しかし、フルテーブルに適用すると、同じエラーが発生します。一年だけ、nullsと空白は問題を引き起こしていないようです。エラーを引き起こしている行をSQLが修正して除外できるようにSQLが指定できるのですか? – pssguy
簡単には保証されていない解決策は、WHERE ISDATEのようなwhere節を追加することですT.dob)> 0' Aaron Bertrandは、私の同様の[質問](http://dba.stackexchange.com/questions/5312/conversion-of-varchar-data-to-datetime-failing)で良い説明+ – billinkc
私はちょうど同じソリューションに到着した! – pssguy