获取包含9位数字的行

时间:2018-09-26 20:47:15

标签: sql oracle

如何从Oracle SQL的varchar2列中获取包含9位数字的所有行?

1 个答案:

答案 0 :(得分:2)

您可以使用regexp_like()

SELECT nmuloc
       FROM elbat
       WHERE regexp_like(nmuloc, '[[:digit:]]{9}');

POSIX类[:digit:]与数字匹配(或者可以使用范围0-9)。 {9}是要求量化子模式出现9次的量化器。


编辑:

要匹配完全由九位数字组成的字符串:

SELECT nmuloc
       FROM elbat
       WHERE regexp_like(nmuloc, '^[[:digit:]]{9}$');

^匹配字符串的开头和$,然后结尾。