ホームページ >データベース >mysql チュートリアル >SQL Server で「文字列から日付や時刻を変換するときに変換に失敗しました」エラーを修正する方法は?
日時列を含むテーブルを作成し、特定の日付と時刻を挿入しようとしているとき値を指定すると、「文字列から日付や時刻を変換するときに変換に失敗しました」というエラー メッセージが発生しました。この問題に対処する方法は次のとおりです。
「21-02-2012 6:10:00 PM」形式で値を挿入しようとした最初の試行では、SQL Server が原因でエラーが発生しました。特定の日付と時刻の形式が必要です。
これを解決するにはこの問題が発生した場合は、言語や日付形式の設定に関係なく SQL Server でサポートされている ISO-8601 日付形式を使用してください。形式は次のオプションで構成されます。
ISO-8601 形式を挿入ステートメントに適用すると、修正されたコードが生成されます。
insert into table1 values('2012-02-21T18:10:00', '2012-01-01T00:00:00');
または、SQL Server 2008 以降の場合は、 DATETIME2 データ型は変換プロセスを簡素化し、さまざまな日付形式を使用できるようにします。問題:
SELECT CAST('02-21-2012 6:10:00 PM' AS DATETIME2), -- works just fine CAST('01-01-2012 12:00:00 AM' AS DATETIME2) -- works just fine
ISO-8601 形式に従うか、DATETIME2 データ型を利用することにより、「変換に失敗しました」エラーを克服し、日付と時刻の値を SQL Server に正しく挿入できます。
以上がSQL Server で「文字列から日付や時刻を変換するときに変換に失敗しました」エラーを修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。