如何查询oracle以查找包含0-1000
数字的列我尝试了类似的查询:
select (Column_name)
from (table_name)
where regexp_like(CREDIT_BANK_BRANCH,'^[0-999]$');
答案 0 :(得分:2)
使用此正则表达式:
^([0-9]{1,3}|1000)$
<强>解释强>
正则表达式无法计算数值表达式,因此您必须将所有内容视为字符,因此:
查找长度为1到3个字符的任意数字组:[0-9]{1,3}
或仅数字1000。
管道意味着“或”和括号是必要的,以限制表达式的范围。
缩短版本:
^(\d{1,3}|1000)$
测试:
答案 1 :(得分:0)
如果只想返回包含该列中数字的行,请将正则表达式更改为^[0-9]+$
(或更短^\d+$
)。
如果您要查找包含非数字字符的记录,请使用[^0-9]
(或缩短\D
)。
有关详细信息,请参阅Using Regular Expressions in Oracle Database。