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

如何在SQL中对URL列进行模式匹配及多规则匹配查询

当然可行!咱们一步步来解决你的SQL匹配问题:

1. 匹配单个模式:包含".com/aboutme"的URL

你可以用SQL的LIKE操作符来实现模糊匹配,针对你的pages表,对应的查询语句如下:

SELECT * FROM pages WHERE url LIKE '%\.com/aboutme%';
  • 这里的%是通配符,代表任意长度的任意字符(包括空字符),能匹配URL中".com/aboutme"前后的任意内容;
  • 加\转义点号是因为部分SQL方言里,点号本身是匹配任意单个字符的通配符,转义后能确保只匹配URL里的实际点号;
  • 这条语句会精准返回你要的行1、3、4。
2. 匹配多个模式:同时包含".com/aboutme"或".com/contact"的URL

有两种实用的实现方式,你可以根据自己的数据库类型选择:

方式一:用OR连接多个LIKE条件(兼容性最强)

这种写法几乎支持所有SQL数据库,非常稳妥:

SELECT * FROM pages 
WHERE url LIKE '%\.com/aboutme%' 
   OR url LIKE '%\.com/contact%';

执行后会返回行1、3、4、5、6,正好覆盖两个模式的所有目标行。

方式二:用正则表达式匹配(更简洁高效)

如果你的数据库支持正则表达式(比如MySQL/MariaDB的REGEXP、PostgreSQL的~),可以用更简洁的写法一次性匹配多个模式:

-- 适用于MySQL/MariaDB
SELECT * FROM pages WHERE url REGEXP '\.com/(aboutme|contact)';

-- 适用于PostgreSQL
SELECT * FROM pages WHERE url ~ '\.com/(aboutme|contact)';

正则表达式里的(aboutme|contact)表示匹配两者中的任意一个,当需要匹配的模式越来越多时,这种方式会比多个OR更简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:46:56