SQL XQuery LIKE操作

本次演示,学会了元素本身(.)以及LIKE的操作。

宣告一个xml的变量@xml并赋值给它。

DECLARE @xml XML = '
<Devs>
   <lang name="VB.NET"/>
   <lang name="C#.NET"/>
   <lang name="Java" />
   <lang name="Javascript" />
   <lang name="ASP.NET" />
</Devs>
'

 

然后,我们可以使用LIKE操作,过滤到我们需要的语言,例如想查找出属性name带有"v"的记录。

1 SELECT 
2     lang = L.n.value('(.)','NVARCHAR(MAX)')
3 FROM @xml.nodes('/Devs/lang/@name') L(n)
4 WHERE L.n.value('(.)','NVARCHAR(MAX)'LIKE '%v%'

 

上面代码中的2行,可以写成L.n.value('(.)','NVARCHAR(MAX)') AS [lang],另外(.)代表的是'/Devs/lang/@name'属性的本身。

谓词LIKE是用来检查字符或字段值是否与指定的模式(pattern)匹配。

查询结果:

 

 

posted @ 2012-02-29 23:52  Insus.NET  阅读(574)  评论(2编辑  收藏  举报