операция подстроки или регулярное выражение в teradata - PullRequest
0 голосов
/ 03 мая 2019

У меня есть данные, как показано ниже

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 Ответ

1 голос
/ 03 мая 2019

Необходимо указать RegEx, чтобы он возвращал как минимум пять последовательных цифр , в настоящее время это как минимум одну цифру . И конечно, если вы хотите >= 5, вы не должны писать > 5: -)

RegExp_Substr(col1, '[0-9]{5,}')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...