【问题标题】:How to use XQuery to fetch NULL values for INT如何使用 XQuery 获取 INT 的 NULL 值
【发布时间】:2015-10-15 14:31:34
【问题描述】:

我有下面的例子

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,但它不应该是一个被广泛接受的标准吗?

【问题讨论】:

    标签: tsql xquery-sql


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 1970-01-01
      • 2023-02-15
      • 1970-01-01
      相关资源
      最近更新 更多