私のSQLクエリに異常なエラーがあります。varcharデータ型からdatetimeへの変換。範囲外エラー
この作品:
INSERT INTO tbl_SomeTable(Send_Type,Remote_Eml,Cover_Subj,Cover_Note,AtnId,StandortEinsatzValue,Standort,KundenNr,AtnTel,Name,Strasse,AtnName,AreaManagerContact,Datum,PLZOrt)
VALUES ('2', '', '', '','02832','1','Replaced','2001158207','Replaced','Real','Replaced','Replaced','Replaced','10.12.2016','15745 Replaced')
これは私にエラーを与える:
INSERT INTO tbl_SomeTable(Send_Type,Remote_Eml,Cover_Subj,Cover_Note,AtnId,StandortEinsatzValue,Standort,KundenNr,AtnTel,Name,Strasse,AtnName,AreaManagerContact,Datum,PLZOrt)
VALUES ('2', '', '', '','02832','1','Replaced','2001158207','Replaced','Real','Replaced','Replaced','Replaced','17.12.2016','15745 Replaced')
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
唯一の違いは、日付です。 "10.12.2016"対 "17.12.2016"。 列「Datum」の型が「datetime」です。
SQL Server 2016を使用しています。
私を助けてくれますか?
「17」は月の値の範囲外です。エンジンはおそらくen-USとして日付を解析しています。データを挿入するために '10.12.2016'のような文化依存の文字列を使用しないでください。唯一認められている独立した文字列形式は '20161210'(区切り文字なしのISO)です。もっと良いのは、実際に型付けされた 'DATETIME'パラメータを使います。 –
SELECT CONVERT(VARCHAR、Datum、101)FROMテーブル – Chanukya
これらのコメントのどちらも機能します。リテラル ''20161212 'を使うか、適切な書式マスク番号で' CONVERT'を使います。 –