Bonjour.

Imaginons une table : table ( id , label ).
Je souhaite selectionnertout les elements qui commencent par label(2).
Pour des soucis de performance j'utilse une expression régulière:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
select * from table where label ~* 'label(2)';
Le probléme est que les parathèses vont être interprétées comme expressions régulières, donc pas le bon resultat.
Il en va de meme pour les caracteres +,-,[,],(,),{,}...

Une solution consiste trasnformer '( 'en '[(] ' et ')' en '[)]', la requéte devient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
elect * from table where label ~* 'label[(]2[)]';
Ceci marche bien , mais je pense qu'il existe une meuilleur solution ?