Bonjour,
Je cherche une option dans un postgres qui me permet d'eviter les accent dans ma recherche. Ma base est en UNICODE et lorsque je recherche le mot "résumé" par exempl, j'aimerai le retrouver en cherchant "resume".
Merci
Bonjour,
Je cherche une option dans un postgres qui me permet d'eviter les accent dans ma recherche. Ma base est en UNICODE et lorsque je recherche le mot "résumé" par exempl, j'aimerai le retrouver en cherchant "resume".
Merci
bonjour,
le plus simple est de te creer une colonne "textesimple" par exemple, et d'y mettre tes valeurs sans les accents :
tu peux aussi utiliser la fonction minimizetext que tu trouvera à dans la pages sources à cette adresse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE matable SET textesimple = translate(monchamp,'àâéèêëîïìôòùû','aaeeeeiiioouu');
http://postgresql.developpez.com/sou...s#minimizetext
cette fonction permet d'enlever les accents, supprime les espaces, les lettres en doublon, ou plus encore.
pense a creer un index dessus pour les grosses tables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 UPDATE matable SET textesimple = minimizetext(monchamp); --pour faire un select : SELECT * FROM matable where textesimple =minimizetext('résumé');
Oui merci et existe t'il un moyen sans ajouter de colonne a ma table... parce que le probleme c'est que je recherche dans plusieurs champ (5) alors je me vois pas rajouter 5 champs pour supprimer les accents.
Merci
ou tu peux, tu met la fonction 2 fois dans le WHERE :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM matable WHERE minimizetext(monchamp)=minimizetext('résumé');
J'allais oublier de préciser que tu peux aussi creer un index fonctionel pour ce genre d'interrogation
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE INDEX idx_monchamp_minimize ON matable (minimizetext(monchamp));
Ok, j'ai jamais utiliser de fonction pl/sql... et je suis sous Java et JDBC et je sais pas encore si cela devrai coller. Je pense que oui. Je vais regarder.
Merci..
PS : sinon sous postgres y a pas d'equivalent pour collate ou to_ascii?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager