У меня есть данные, как показано ниже
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
Вам нужно указать регулярному выражению вернуть не менее пяти последовательных цифр, в настоящее время это хотя бы одна цифра. Ну и конечно если хочешь >= 5
можешь не писать > 5
:-)
RegExp_Substr(col1, '[0-9]{5,}')