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

SQL查询如何返回第三个字符为c且后续不再出现该字符的结果

解决方案

直接在原有查询的WHERE子句后追加排除后续出现c的条件即可,修改后的完整语句如下:

SELECT product_name, model_year, list_price
FROM production.products
WHERE product_name LIKE '__c%'
  AND product_name NOT LIKE '__c%c%'

条件说明

  • product_name LIKE '__c%':原有条件,确保字段前两位为任意字符、第三位为字符c
  • product_name NOT LIKE '__c%c%':新增条件,确保第三位c之后的所有位置都不会再出现字符c,包括长度恰好为3、第三位是c的边界场景也能正常匹配
  • 若需要兼容大小写(同时匹配第三位是c/C、后续不出现c/C的场景),可以将条件中的product_name替换为LOWER(product_name)即可

如果你使用的数据库支持正则表达式匹配(如MySQL、PostgreSQL、SQL Server 2017+等),也可以用更简洁的正则写法实现同样逻辑:

-- 以MySQL为例,不同数据库正则函数语法可能略有差异
SELECT product_name, model_year, list_price
FROM production.products
WHERE product_name REGEXP '^.{2}c[^c]*$'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 12:12:03