teradata 中的子字符串操作或正则表达式

substring operation or regex in teradata

我有如下数据

col1
abc1234
abc 1234
12345
abc 1234 123456789
xyz1234567890a

我想要输出具有长度 >=5 个字符的数字字符串,过滤所有记录。

我试过功能 REGEXP_SUBSTR(col1, '[0-9]+'),但它没有给出预期的结果

SELECT  col1 
,REGEXP_SUBSTR(col1, '[0-9]+') as num
FROM table1 
WHERE col1 IS NOT NULL 
AND LENGTH(num) >5

预期输出如下

num
12345
123456789
1234567890

您需要告诉 RegEx return至少五个连续数字,目前是至少一个数字。当然,如果你想要 >= 5 你不应该写 > 5 :-)

RegExp_Substr(col1, '[0-9]{5,}')