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'
SET @langname='NET'
SELECT语句使用函数fn:contains():
SELECT @xml.query( N'
/Devs/lang[fn:contains(@name,sql:variable("@langname"))]
')
/Devs/lang[fn:contains(@name,sql:variable("@langname"))]
')
执行结果,将会把属性带有'NET'的所有节点SELECT出来: