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

时间:2019-05-03 09:31:59

标签: teradata teradata-sql-assistant

我的数据如下

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

1 个答案:

答案 0 :(得分:1)

您需要告诉RegEx返回至少5个连续数字,目前返回至少1个数字。当然,如果您想要>= 5,则不应该写> 5:-)

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