Se connecter avec
S'enregistrer | Connectez-vous

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

Dernière réponse : dans Programmation

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
Lassé par la pub ? Créez un compte

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...
Expert Programmation

Vu et approuvé...

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

SELECT TRANSLATE ( 'rastadd', 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' )
FROM DUAL ;
Lassé par la pub ? Créez un compte