我有以下示例
DECLARE @MyXml XML
SET @MyXml = CONVERT(XML, '<?xml version="1.0" ?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<number xsi:nil="true" />
</root>')
SELECT @MyXml.value('(/root/number)[1]', 'INT') AS MyNumber
上面的列表给了我一个 0 而不是我期望的NULL
。我知道我正在使用Schema Instance
,但它不应该是一个被广泛接受的标准吗?
答案 0 :(得分:1)
您可以使用text()
:
的 LiveDemo 强>
DECLARE @MyXml XML
SET @MyXml = CONVERT(XML,
'<?xml version="1.0" ?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<number xsi:nil="true" />
</root>')
SELECT @MyXml.value('(/root/number/text())[1]', 'INT') AS MyNumber