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

ColdFusion中CFQuery筛选C后接数字的零件编号的WHERE语句写法

解决方案

你的需求是筛选Part_Number中以C开头,且紧跟C的第二个字符是数字的记录,之前的写法问题在于:

  • LIKE 'C%'会匹配所有C开头的条目,不管后续字符类型,所以会包含CBT-BGA这类不符合的;
  • LIKE '^C[0-9]'无效是因为标准SQL的LIKE不支持正则的^和[]语法,只有部分数据库的扩展语法才兼容。

根据你使用的数据库类型,对应以下CFQuery的WHERE语句写法:

SQL Server

两种写法可选:

-- 写法1:字符串截取+数字判断
WHERE LEFT(Part_Number, 1) = 'C' 
AND ISNUMERIC(SUBSTRING(Part_Number, 2, 1)) = 1

-- 写法2:利用SQL Server的LIKE扩展语法
WHERE Part_Number LIKE 'C[0-9]%'

MySQL

直接用正则匹配最简洁:

WHERE Part_Number REGEXP '^C[0-9]'

Oracle

使用正则函数匹配:

WHERE REGEXP_LIKE(Part_Number, '^C[0-9]')

通用兼容写法(不依赖数据库正则特性)

如果不确定数据库类型,用字符范围判断也能实现:

WHERE LEFT(Part_Number, 1) = 'C' 
AND SUBSTRING(Part_Number, 2, 1) BETWEEN '0' AND '9'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:34:58