У меня есть столбец с именем comment
, который может содержать определенный шаблон целых 5 раз, и я хотел бы вернуть все из них. Вот значение у меня в Colum:Верните шаблон несколько раз
oijdwe wbjcwe SBR ('JOJ.TTT.ABC', тест) sdfjksj dlkfjs LKF qweiuh ('JOJ.TTT.123', тест) oiiqwd м lskc Цюй я ('JOJ.TTT.452', тест) КСД sdfskq AZX ('JOJ.TTT.ACD5', тест)
Я хотел бы возвращать следующие значения: JOJ.TTT.ABC
, JOJ.TTT.123
, JOJ.TTT.452
и JOJ.TTT.ACD5
при использовании следующего описания
select
regexp_substr(comment,'JOJ.T{3}.{4}',1,1)
,regexp_substr(comment,'JOJ.T{3}.{4}',1,2)
,regexp_substr(comment,'JOJ.T{3}.{4}',1,3)
,regexp_substr(comment,'JOJ.T{3}.{4}',1,4)
,regexp_substr(comment,'JOJ.T{3}.{4}',1,5)
from blabla
он отлично работает, если шаблон JOJ.TTT.XXX
, но не в случае, если после «TTT» есть 4 символа. Я знаю, что это из-за {4} я использую. Как я могу получить результат, который я хочу?
Благодаря
Я не знаком с sql, поэтому могу только прокомментировать часть регулярного выражения. Вы можете попытаться изменить 'JOJ.T {3}. {4}' to 'JOJ \ .T {3} \. [A-Z0-9] *'. – SSC