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

如何在Oracle数据库中使用REGEXP_LIKE函数校验符合规则的字符串

基于REGEXP_LIKE的字符串合规校验方案

校验规则回顾

  • 字符串长度固定为9个字符
  • 首字符必须为大写英文字母
  • 剩余8个字符需为0-9的数字
  • 不允许包含任何特殊字符

实现代码

直接使用如下正则表达式作为REGEXP_LIKE的匹配规则即可:

-- 通用写法,适用于Oracle、MySQL 8.0+等支持REGEXP_LIKE的数据库
REGEXP_LIKE(待校验字段名, '^[A-Z][0-9]{8}$')

-- Oracle环境下可追加参数'c'强制大小写敏感,避免数据库默认忽略大小写导致首字母小写也通过校验
REGEXP_LIKE(待校验字段名, '^[A-Z][0-9]{8}$', 'c')

函数返回值为TRUE代表校验通过,返回FALSE代表不符合规则。

匹配逻辑说明

  • ^ 标记字符串的起始位置,避免字符串前缀出现多余字符
  • [A-Z] 匹配第一位的大写英文字母,满足首字符规则
  • [0-9]{8} 匹配连续8位0-9的数字,加上首字符总长度正好为9,同时满足长度规则和剩余字符的数字要求
  • $ 标记字符串的结束位置,避免字符串后缀出现多余的特殊字符或其他内容,完全杜绝非法字符混入

使用示例

以筛选user_info表中cert_code字段符合规则的记录为例:

SELECT * 
FROM user_info 
WHERE REGEXP_LIKE(cert_code, '^[A-Z][0-9]{8}$');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:45:04