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

PostgreSQL使用LIKE查询姓名恰好含2个字母a的人员方法

PostgreSQL 基于LIKE语法查询姓名恰好含2个字母a的人员方案

你之前编写的select client from xclient where client like '%a%'只能匹配所有包含至少1个字母a的记录,无法筛选a的数量,因此不符合预期。

正确SQL语句

SELECT client 
FROM xclient 
WHERE client LIKE '%a%a%' 
  AND client NOT LIKE '%a%a%a%';

逻辑说明

  • client LIKE '%a%a%':筛选出姓名中至少存在2个字母a的记录,保证a的数量下限为2
  • client NOT LIKE '%a%a%a%':排除姓名中存在3个及以上字母a的记录,保证a的数量上限为2

两个条件组合后刚好命中仅包含2个字母a的记录,完全基于LIKE语法实现,符合要求:

  • 示例姓名Marta含2个a:满足第一个LIKE条件,不触发第二个NOT过滤,正常返回
  • 示例姓名Alaia含3个a:满足第一个LIKE条件,但也匹配%a%a%a%规则,被NOT过滤排除
  • 仅含1个a的姓名:不满足第一个LIKE条件,直接排除

大小写适配说明

如果需要将大写A也计入统计,将LIKE替换为PostgreSQL专用的不区分大小写匹配符ILIKE即可:

SELECT client 
FROM xclient 
WHERE client ILIKE '%a%a%' 
  AND client NOT ILIKE '%a%a%a%';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:15:01