【发布时间】:2010-11-13 00:46:02
【问题描述】:
在 Oracle 中,是否可以使用单个正则表达式同时匹配特定字符串格式和空字符串?
类似的东西:
SELECT 1
FROM DUAL
WHERE REGEXP_LIKE('12345', '^([1-5]{5})|NULL$');
SELECT 1
FROM DUAL
WHERE REGEXP_LIKE('', '^([1-5]{5})|NULL$');
SELECT 1
FROM DUAL
WHERE REGEXP_LIKE(NULL, '^([1-5]{5})|NULL$');
其中正则表达式的“NULL”部分被视为字符类而不是字符串文字,并且所有三个查询都返回 1。
我正在编写一些数据验证例程,并且希望只存储/使用一个正则表达式来确定格式以及输入字符串是否可以为空——而不是为每个数据元素单独指定这些验证规则。
谢谢, 杰夫
【问题讨论】: