Bonjour à tous,
Je n'arrive pas à trouver la requête qui me permettrait de résoudre le problème suivant.
J'ai une colonne message_in(CLOB) qui contient 8 champs séparés par des ";"
0002 ;prov_b;497814;500783500000000;true;PRT;Wed May 01 04:24:04 CET 1974;6011;
(notez bien qu'il y a 8 ";" et non pas 7)
Je souhaiterai ne récupérer que les 4 premiers champs concaténés aux 3 derniers.
Le problème est double :
1-Trouver la requête en soi.
2-Trouver la bonne regexp
Je tourne autour du pot, mais impossible de finaliser.
L'idée est de faire un truc comme ça :
Code:
1 2 3 4
| CONCAT(
REGEXP_SUBSTR(TO_CHAR(message_in),'^(([a-zA-Z0-9_ :])*;){4}',1),
REGEXP_SUBSTR(TO_CHAR(message_in),'^(([a-zA-Z0-9_ :])*;){4}(([a-zA-Z0-9_ :])*;){1}(([a-zA-Z0-9_ :])*;){3}',3)
) |
PS : si un champ contient un ";" alors tant pis.
Avez-vous des idées
Merci à vous