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,}')
我有如下数据
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,}')