我有一个带有 XML 字符串作为参数的 SQL Server 存储过程。XML 字符串具有dd/MM/yyyy
日期格式的日期标签。使用OpenXML
时会出现转换错误。即使我有 sql 用户登录,默认语言设置为British English
. 它适用于MM-dd-yyyy
日期格式。
这是我的代码
Declare @XML Nvarchar(MAX)
Set @XML= '<root><ContractNo>100213</ContractNo><ContractDate>25/6/2012</ContractDate></root>'
Declare @idoc int
-- Create an internal representaion of XML
EXEC sp_xml_preparedocument @idoc OUTPUT, @XML
-- Get the data from XML into respective variables
SELECT ContractNo
,ContractDate
FROM OPENXML(@idoc,'root',2)
WITH ( ContractNo nvarchar(30)
,ContractDate Datetime
)
错误:
消息 241,级别 16,状态 1,第 10 行
从字符串转换日期和/或时间时转换失败。