如何查询oracle以查找包含0-1000数字的列
我试过这样的查询:
select (Column_name)
from (table_name)
where regexp_like(CREDIT_BANK_BRANCH,'^[0-999]$');
使用这个正则表达式:
^([0-9]{1,3}|1000)$
解释:
正则表达式无法计算数值表达式,因此您必须将所有内容都视为字符,因此:
找到任何一到三个字符长的数字组:[0-9]{1,3}
或者只是数字 1000。
管道表示“或”,括号是限制表达式范围的必要条件。
较短的版本:
^(\d{1,3}|1000)$
测试:
如果您只希望返回该列中包含数字的行,请将正则表达式更改为^[0-9]+$
(或更短)。^\d+$
如果要查找具有非数字字符的记录,请使用[^0-9]
(或更短\D
)。
有关更多详细信息,请参阅在 Oracle 数据库中使用正则表达式。