1

如何查询oracle以查找包含0-1000数字的列

我试过这样的查询:

select (Column_name)  
from  (table_name) 
where regexp_like(CREDIT_BANK_BRANCH,'^[0-999]$');
4

2 回答 2

2

使用这个正则表达式:

^([0-9]{1,3}|1000)$

解释:

正则表达式无法计算数值表达式,因此您必须将所有内容都视为字符,因此:

找到任何一到三个字符长的数字组:[0-9]{1,3}或者只是数字 1000。

管道表示“或”,括号是限制表达式范围的必要条件。

较短的版本:

^(\d{1,3}|1000)$

测试:

在此处输入图像描述

于 2012-10-17T14:01:37.043 回答
0

如果您只希望返回该列中包含数字的行,请将正则表达式更改为^[0-9]+$(或更短)。^\d+$

如果要查找具有非数字字符的记录,请使用[^0-9](或更短\D)。

有关更多详细信息,请参阅在 Oracle 数据库中使用正则表达式。

于 2012-10-17T12:46:12.710 回答