Vous n'êtes pas identifié(e).
Pages : 1
Merci Marc pour ta réponse.
Je vais essayer de modifier ma requête en prenant en compte les nouvelles fonctions et si je trouve quelque chose d'intéressant je fais un retour sur ce post.
Bonjour à tous,
j'utilisais jusqu'à aujourd'hui la formule de conversion suivante :
select LOWER(TO_ASCII(CONVERT('Azerbaïdjan', 'UNICODE', 'LATIN9'), 'LATIN9'))
select LOWER(TO_ASCII(CONVERT('Algérie', 'UNICODE', 'LATIN9'), 'LATIN9'))
qui me permet de récupérer une chaine sans caractères spéciaux afin de pouvoir effectuer ensuite une recherche ou un filtre sur une partie de la chaine.
la requête réellement passée est celle ci :
SELECT idpays, nompays, zonepays, devisepays FROM pays WHERE LOWER(TO_ASCII(CONVERT(nompays, 'UNICODE', 'LATIN9'), 'LATIN9')) LIKE 'm%' ORDER BY nompays ASC
qui me permet de récupérer tous les pays commençant par la lettre 'm' mais pour correspondre à mes exemples ci-dessus, si je tape 'alge' en chaine de recherche il me sort 'Algérie' comme résultat.
Cette conversion fonctionne très bien sur le serveur que j'utilisais, un "PostgreSQL 8.1.3".
je suis monté en version sur un de mes serveurs de dev et cette conversion ne fonctionne plus; j'ai fait le test sur un "PostgreSQL 8.4.1" et également sur un "PostgreSQL 8.3.9"; voilà l'erreur que j'obtiens :
ERROR: function convert(character varying, unknown, unknown) does not exist
LINE 1: ...epays, devisepays FROM pays WHERE LOWER(TO_ASCII(CONVERT("n...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
********** Erreur **********
ERROR: function convert(character varying, unknown, unknown) does not exist
État SQL :42883
Astuce : No function matches the given name and argument types. You might need to add explicit type casts.
Caractère : 78
Or la fonction convert() existe toujours et ca syntaxe semble la même.
Est ce quelqu'un aurait une idée sur la raison de cette erreur et sur la façon de la corriger ?!
Merci d'avance, Fab.
Pages : 1