Com­ment uti­lise t’o…
 
Notifications 
Reti­rer tout

Com­ment uti­lise t’on un Regexp en SQL sur IBMi ?

Posts
Uti­li­sa­teurs
Reac­tions
85  Vu
0
Début du sujet

Bon­jour,

Est-ce que quel­qu’un a un exemple à me don­ner de l’u­ti­li­sa­tion d’une expres­sion régu­lière en SQL sur IBM i ?

Mer­ci d’avance.

Oli­vier.

Éti­quettes du sujet
1 Réponse 
0

Voi­ci un exemple que j’ai uti­li­sé récemment : 

Select Substr( a.pàdse, 4, 10) "Identifiant connexion",
       b.GROUP_PROFILE_NAME "Groupe(s)", 
       Substr( a.pàdse, 116, 1) "Code société",
       Substr( a.pàdse, 150, 2) "Agence commerciale",
       Substr( a.pàdse, 220, 2) "Agence exploitation",
       Substr( a.pàdse, 17, 27) "Nom",
       Substr( a.pàdse, 394, 3) "Numéro Profil SESAME",
       b.Previous_signon "Dernière connexion",
       substr( c.k00001, 4, 6) "Option Sesame"
  From Qs36f."PARAM.à£" a left join QSYS2.USER_INFO b on Substr( a.pàdse, 4, 10) = b.Authorization_Name Left join Qs36f."à£.ALI" c On substr( c.k00001, 1, 3) = Substr( a.pàdse, 394, 3)
Where Substr( a.pàdse, 1, 3) = 'ALI'
  And REGEXP_LIKE( Upper( Substr( a.pàdse, 17, 27)), 'ABDELALI', 'i')

Dans le cas pré­sent, on recherche la chaîne ABDELALI dans a.pàdse entre la posi­tion 17 sur une lon­gueur de 27 caractères.

On peu évi­dem­ment faire :

REGEXP_LIKE( Upper( Substr( a.pàdse, 17, 27)), '^ABDELALI', 'i')

Et dans ce cas, la chaîne ABDELALI sera recher­chée en posi­tion 17 de a.pàdse puisque ^ indique une recherche en début de ligne.

Il y a beau­coup à dire sur les expres­sions régu­lières en SQL sur IBM i, tous les détails sur cette page :

https://www.ibm.com/support/knowledgecenter/search/regexp?scope=ssw_ibm_i_74

Share :