Мне нужна помощь в извлечении 49 из этой строки: «7 DAYS LATE 49 UNDERUSE» в Teradata, я продолжаю путаться с STRTOK или regexp_substr. Спасибо
Извлечь число между двумя строками в Teradata
comment
Можете ли вы показать еще несколько примеров данных, охватывающих ваши правила?
- person dnoeth   schedule 05.04.2020
Ответы (1)
Вы можете использовать REGEXP_SUBSTR
для извлечения числа между двумя строками. Вот один из способов:
SELECT REGEXP_SUBSTR(
'7 DAYS LATE 49 UNDERUSE' -- source string
'.*\w*\s+(\d+)\w*\s+.*', -- regexp pattern
1, 1, 'i' -- additional options (start position, match #, case sensitivity)
)
Это даст вам первое совпадающее число между двумя строками, которые предшествуют пробелам и следуют за ними.
Руководство по ТД
Скрипт SQL (Postgres)
person
ravioli
schedule
05.04.2020