如何从Oracle SQL的varchar2列中获取包含9位数字的所有行?
答案 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}$');
^
匹配字符串的开头和$
,然后结尾。