查询包含XML列的表

时间:2014-08-05 14:40:11

标签: sql sql-server

我有一个包含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值

中获取包含某些内容的列

2 个答案:

答案 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%'

也请参考How can I query a value in SQL Server XML column