XQuery的contains函数

理解此函数,可以先看它的语法:

fn:contains ($arg1 as xs:string?, $arg2 as xs:string?) as xs:boolean?

返回 xs:boolean 类型的值,以指明 $arg1 值是否包含 $arg2 所指定的字符串值。

 

实例演示说明,可以参考前一篇:http://www.cnblogs.com/insus/archive/2012/03/09/2388316.html 这篇只能SELECT到与变理值相同的节点。如果我们想SELECT相似值,虽然可以用谓词LIKE,如果这篇:http://www.cnblogs.com/insus/archive/2012/02/29/2374826.html 但是,这里Insus.NET使用fn:contains来实现:

 

变量值改为:

DECLARE @langname NVARCHAR(50)
SET @langname='NET'

 

SELECT语句使用函数fn:contains():

 SELECT @xml.query( N'
/Devs/lang[fn:contains(@name,sql:variable("@langname"))]
 
'

 

执行结果,将会把属性带有'NET'的所有节点SELECT出来:

 

posted @ 2012-03-09 21:55  Insus.NET  阅读(496)  评论(0编辑  收藏  举报