【问题标题】:substring operation or regex in teradatateradata 中的子字符串操作或正则表达式
【发布时间】:2019-09-21 20:01:12
【问题描述】:

我有如下数据

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

【问题讨论】:

    标签: teradata teradata-sql-assistant


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 2017-03-08
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多