SQL - pb insertion caractères spéciaux avec UPPER

rastadd

Grand Maître
Bonjour à tous.
J'ai petit souci, que j'explique ci -dessous :
je dois insérer des données dans une base, données qui doivent être transformées en majuscules.
Jusque là, c'est simple : INSERT UPPER....

Le problème est que parmi ces données, j'ai des caractères spéciaux comme des '°', qui après mise en majuscule se voient transformés en 'point d'interrogation à l'envers'.

Quelqu'un saurait-il comment éviter cela, sachant que la contrainte d'insérer les données en majuscules doit être respectée ?

merci d'avance !!

Edit : une précision au passage : c'est du Oracle 9.2
 

rastadd

Grand Maître
Je ne pense pas.
Je t'explique :
En fait, je récupère des données d'une base source, pour les mettre dans une autre base (décisionnelle), les deux BDD utilisant le même encodage. La différence d'une base à l'autre, c'est que certains champs sont mis en majuscules (ce qui est une contraintes). Et c'est lors de ce passage en majuscule que j'ai le problème expliqué.

Je me demandais par exemple, s'il n'existait pas une fonction SQL (que je ne connaitrais pas), qui 'sauterait' ce caractères spéciaux lors du UPPER, ou du moins, qui les laisserait tels qu'ils sont. je n'ai pas testé, mais je pense avoir le même problème avec les caractères accentués, ainsi que les 'ç', etc...
 

zeb

Modérateur
Vu et approuvé...

En attendant que quelqu'un trouve la solution avec UPPER, je te propose d'utiliser TRANSLATE :

[fixed]SELECT TRANSLATE ( 'rastadd', 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' )
FROM DUAL ;[/fixed]
 

rastadd

Grand Maître
Bien vu, je vais tester ça et voir si ça joue sur les perf (bah oui, y'a ça aussi comme contrainte).
Si quelqu'un a la solution avec le UPPER, je suis tout de même preneur ;)
Merci zeb

zeb, c'est bien ! [:rastadd:8]
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 136
Messages
6 718 120
Membres
1 586 398
Dernier membre
mookie767
Partager cette page
Haut