DECLARE @xml xml ='<Root><Child><Number>
80</Number></Child></Root>'
SELECT c.value('(./Number)[1]', 'int') AS Number FROM @xml.nodes('Root/Child') T(c)
我从文件中获取 xml,所以如果节点的值(这里是 80)在新行中,则在使用上述查询选择 xml 时,我收到如下错误:
将 nvarchar 值“ 80”转换为数据类型 int 时,消息 245,级别 16,状态 1,第 4 行转换失败。
但是如果 xml 在同一行中声明,例如DECLARE @xml xml ='<Root><Child><Number>80</Number></Child></Root>'
它会正常工作。我怎么能解决这个问题。任何人都请帮我继续