Oracle, regexp: получить подстроку
Может кто подсказать, какую именно последовательность символов надо написать?regexp_substr(src, '.*CCC')
Но просто substr будет быстрее.
Быстродействие в данном случае нафиг не нужно. Там всего порядка 100 строк надо обработать. И будет выполняться ETL 0.1с или 2с разницы нет.
Зато с regexp_replace код явно читабельнее будет.
("\(CCC\).*", "\1")?
Зато с regexp_replace код явно читабельнее будет.только для тех, кто знаком с синтаксисом regexp'ов... У меня на работе все программисты с ораклом работают, а с регекспами дружат далеко не все, т.к. нечасто приходится их использовать (т.к. код на instr/substr работает быстрее и известен случай, когда переписывали кучу кода с использованием регекспов).
некоторые программисты и генерики не понимают, и что - теперь их не использовать?
Оставить комментарий
0000
Имеются строки видаAA B CCC DDDD
FF CCC GGGG
Надо получить
AA B CCC
FF CCC
Т.е. отбросить все, что после CCC (заданное заранее и известное слово).
Можно через substr, но через regexp_replace мне кажется покороче будет.
Может кто подсказать, какую именно последовательность символов надо написать?