我继承了大量存储过程,它们将一个 XML 块作为其唯一参数,然后作者破解它(使用 OPENXML),然后更新一行。
我在更新具有日期时间列的表时遇到了一个问题,以下是当前失败的数据片段:
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 的日期时间?
谢谢