READ SQL BOOLEAN SQL中的值

时间:2014-04-03 19:09:06

标签: sql sql-server xml boolean

如何从SQL中的XML列读取布尔值。以下是示例代码。是否可以使用XQuery Value函数实现。

 DECLARE @XML XML = '<form>
                     <field name="BAR_prior_report" type="Boolean"><value>false</value></field>
                      <field name="BAR_multiple_branches" type="Boolean"><value>true</value></field>
                  </form>'

我想看到BAR_prior_report为False,BAR_multiple_branches为True

1 个答案:

答案 0 :(得分:5)

这会将字段作为BIT列返回,大多数语言都会将其解析为布尔值(SqlServer中没有布尔值)。

SELECT
  Nodes.node.value('(field[@name="BAR_prior_report"]/value)[1]', 'bit') 
    AS BAR_prior_report,
  Nodes.node.value('(field[@name="BAR_multiple_branches"]/value)[1]', 'bit') 
    AS BAR_multiple_branches
FROM
  @XML.nodes('//form') AS Nodes(node);

Fiddle here

您始终可以通过其他投影传递此信息以进行进一步处理,例如: here