我有一个包含xml列的表,我的表如下所示:
MyTable
Id(Pk, int,not null)
Name(varchar(50), not null)
Value(XML(.), not null)
值的类型为 XML
我已经尝试了以下查询,当然它无法正常工作
/****** Script ******/
SELECT TOP 1000 [Id]
,[Name]
,[Value]
FROM [Value]
where Value like '%something%'
如何在xml值
中获取包含某些内容的列答案 0 :(得分:2)
这会有用吗?我假设您打算选择FROM MyTable,而不是从[Value]:
SELECT TOP 1000 [Id]
,[Name]
,[Value]
FROM [MyTable]
where CAST(Value AS VARCHAR(MAX)) like '%something%'
答案 1 :(得分:0)
XML
<root>
<role>Alpha</role>
<role>Beta</role>
<role>Gamma</role>
</root>
select [Name] ,[Value]
from Value
where Value.value('(/root/role)[1]', 'varchar(max)') like '%Beta%'