Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Mon 21 September 2009 11:03

icadedt
Participant assidu
Lieu: ici et là
Date d'inscription: 21 Jul 2006
Messages: 478

[postgresql] syntaxe sql pour desensibiliser accents et casse

Bjr,


quelle est la syntaxe pour faire une requete désensibilisées des accents et casse


par exemple en sql Access , on aurait :


select monChamp from maTable where monChamp like "*[AaàâÂäÄ][Ll][Li]*"


merci d'avance

Hors ligne

 

#2 Mon 21 September 2009 11:23

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: [postgresql] syntaxe sql pour desensibiliser accents et casse

Bonjour,

Il faut faire une recherche regexp : http://docs.postgresqlfr.org/8.4/functi … ching.html

Code:

monChamp ~* "(àâä)+(li)"

je ne suis pas très sur du motif par contre wink Mais tu as la doc pour t'aider wink

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Mon 21 September 2009 14:01

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1220
Site web

Re: [postgresql] syntaxe sql pour desensibiliser accents et casse

Bonjour,

on peut travailler sur la minuscule (fonction lower()) de l'attribut, débarrassé des accents par remplacements successifs (regex_replace() imbriqués)) des différents caractères accentués (ici les caractère accentués français :àâçèéêîïôùû) :

...
WHERE regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(lower(mon_attribut), 'à|â', 'a','g'),'ç','c','g'),'è|é|ê','e','g'),'î|ï','i','g'),'ô','o','g'),'ù|û','u','g')
like '%chainerecherchee%

Ou en utilisant la fonction translate(), plus lisible :
...
WHERE translate(lower(mon_attribut), 'àâçèéêîïôùû', 'aaceeeiiouu')
like '%chainerecherchee%

Dernière modification par Mathieu BOSSAERT (Mon 21 September 2009 14:15)


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#4 Tue 22 September 2009 09:07

icadedt
Participant assidu
Lieu: ici et là
Date d'inscription: 21 Jul 2006
Messages: 478

Re: [postgresql] syntaxe sql pour desensibiliser accents et casse

ne peut on pas parametrer tout ca au niveau de la base de données ?

Hors ligne

 

Pied de page des forums

Powered by FluxBB