You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XQuery中对应SQL LIKE '%.mp3'的通配符用法咨询

XQuery中实现类似SQL LIKE通配符匹配的方法

XQuery里没有SQL的LIKE关键字,你得用内置的字符串函数来实现类似的匹配效果,针对你的场景,有两种常用方法:

1. 用ends-with()匹配后缀(最适合你的需求)

你的需求是匹配所有以.mp3结尾的pPhrase属性,直接用ends-with()函数最简洁,它专门用来检查字符串是否以指定后缀结尾,完美对应SQL里的LIKE '%.mp3'。修改后的代码如下:

for $phrase in //phrases[ends-with(@pPhrase, '.mp3')]
return concat(string($phrase/@pPhrase), ", ", $phrase/ancestor::entrance/string(@name))

2. 用matches()实现复杂正则匹配

如果之后需要更灵活的匹配(比如包含特定子串、复杂模式),可以用matches()函数,它支持正则表达式。比如同样匹配以.mp3结尾的内容,正则写法如下:

for $phrase in //phrases[matches(@pPhrase, '.+\.mp3')]
return concat(string($phrase/@pPhrase), ", ", $phrase/ancestor::entrance/string(@name))

这里正则里的\.是转义后的点(因为正则中.代表任意字符),.+表示匹配任意长度的字符,整体就是匹配“任意字符+.mp3结尾”的字符串。

另外补充几个常用的匹配函数:

  • starts-with(@pPhrase, 'Phrase'):匹配以Phrase开头的字符串,对应SQL的LIKE 'Phrase%'
  • contains(@pPhrase, 'test'):匹配包含test子串的字符串,对应SQL的LIKE '%test%'

内容的提问来源于stack exchange,提问作者Markus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 08:18:24