【问题标题】:how to select specific value from text column containing an xml string? [closed]如何从包含 xml 字符串的文本列中选择特定值? [关闭]
【发布时间】:2013-09-27 09:02:35
【问题描述】:

我正在使用 sql server 2008 r2,我有 my_table 包含类型为 textmy_col,其中包含 xml,我想从该 xml 的根元素中选择一个属性并将其转换为bit 类型(属性取值'true'/'false')当我从表中选择特定行时,而不是选择整个字符串并将其作为相当长的字符串传递回服务器,我一次可以选择多行。我不太擅长正则表达式或 sql。这是我的 text/xml 列的格式:

<rootElementName <!--lots of attributes--> Recommended="false"><!--...lots of stuff in here...--></rootElementName>

我只想为具有Recommended="false" 的行选择0,为Recommended="true" 选择1

【问题讨论】:

标签: sql xml regex string sql-server-2008-r2


【解决方案1】:

首先,您必须将文本列转换为 xml 类型,然后执行 XQuery。

SELECT convert(XML,my_col).value('(/rootElementName/@Recommended)[1]', 'bit') rec
FROM  my_table

我从this question 和this question 查找/改编了内容。

转换思路来自here

这是一个有效的SqlFiddle

【讨论】:

    猜你喜欢
    • 2021-12-01
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 2015-10-17
    • 1970-01-01
    • 2014-08-04
    • 2019-10-25
    相关资源
    最近更新 更多