有没有办法在XQuery中像SQL一样执行LIKE操作?
我想构建一些“以...开始”,“以...结束”和“包含...”的表达式。
我想要实现的示例:
for $x in /user where $x/firstname LIKE '%xxx' return $x
for $x in /user where $x/middlename LIKE 'xxx%' return $x
for $x in /user where $x/lastname LIKE '%xxx%' return $x
有没有办法在XQuery中实现这个功能?
编辑:
已经得到了上面问题的答案。新问题:
有没有办法以相反的方式做到这一点?我想使用SQL等效的NOT LIKE运算符来运行这些查询。这可能吗?它必须在FLWOR表达式中。
编辑2:
问题已解决。您可以运行fn:not(starts-with('123','1')),它将返回false。
/user[matches(firstname, '.*xxx')]
有什么问题吗?简单路径表达式通常比FLWOR表达式更简洁。 - Michael Kay