如何从 SQL 中的 XML 列读取 boolean 值。下面是示例代码。是否可以使用 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
最佳答案
这会将字段返回为 BIT
列,大多数语言会将其解析为 boolean 值(SqlServer 中没有 boolean 值)。
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);
您始终可以通过另一个投影传递它以进行进一步处理,例如here
关于sql - 在 SQL 中读取 XML BOOLEAN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22846758/