Transformer une chaîne en un tableau d'enregistrement (oracle, sql)

Contenu du snippet

transformer une chaîne de caractère avec un séparateur en un tableau d'enregistrement en sql (oracle), c'est l'équivalant d'une fonction connue SPLIT dans d'autre langage

Source / Exemple :


Select Substr( ma_chaine
              , Decode( Level
                      , 1, 1
                      ,   Instr( ma_chaine
                               , mon_sep
                               , 1
                               , Level - 1
                                )
                        + 1
                       )
              , Decode( Instr( ma_chaine
                             , mon_sep
                             , 1
                             , Level
                              )
                      , 0, Length( ma_chaine )
                      ,   Instr( ma_chaine
                               , mon_sep
                               , 1
                               , Level
                                )
                        - Decode( Level
                                , 1, 0
                                , Instr( ma_chaine
                                       , mon_sep
                                       , 1
                                       , Level - 1
                                        )
                                 )
                        - 1
                       )
               )
           ma_colonne
 From ( Select 'une façon de transformer une chaîne en un tableau d''enregistrement' ma_chaine
             , ' ' mon_sep
        From Dual)
 Connect By Level < ( Length( ma_chaine ) - Length( Replace( ma_chaine, mon_sep, '' ) ) ) + 2

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.