私は大量のストアド プロシージャを継承しましたが、それらは唯一のパラメータとして XML のブロックを受け取り、作成者はそれを (OPENXML を使用して) クラックし、行を更新します。
datetime 列を持つテーブルの更新中に問題が発生しました。現在失敗しているデータのスニペットを次に示します。
declare @stuff nvarchar (max);
set @stuff =
'<Booking xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<UpdatedDateTime>2009-08-14T15:32:09.7240556+01:00</UpdatedDateTime>
</Booking>';
declare @iDoc int;
exec sp_xml_preparedocument @idoc OUTPUT, @stuff;
SELECT UpdatedDateTime
FROM
OPENXML(@idoc, '/*')
WITH
(
UpdatedDateTime datetime 'UpdatedDateTime'
)
実行すると、次のエラーが発生します。
メッセージ 241、レベル 16、状態 1、行 12
文字列から日時を変換する際に変換に失敗しました。
XML フラグメントの日時を SQL ベースの日時に変換するにはどうすればよいですか?
ありがとう