Bonjour à tous,
la requête suivante :
me retourne la chaîne : 'USD ' (USD + 6 espaces). Si j'enlève le hint, tout redevient normal. De même, l'insertion de ce résultat dans une table modifie le format de la colonne, et là je comprends plus rien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 WITH mq AS ( SELECT /*+ MATERIALIZE */ 'USD' FROM DUAL ) SELECT * FROM mq
Le dernier select retourne un VARCHA2(9) ! ! Je me suis laissé dire que c'était un problème de charset : mon client (Toad ou PL/SQL dev sous XP) est en WE8MSWIN1252 et ma base en UTF8, je ne comprends pas le problème. Et comment un problème de charset peut arriver à modifier le format de ma table ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE TABLE IS_A_BUG ( TEST_VAL VARCHAR2(3) ) INSERT INTO IS_A_BUG WITH mq AS ( SELECT /*+ MATERIALIZE */ 'USD' FROM DUAL ) SELECT * FROM mq COMMIT SELECT DATA_TYPE, DATA_LENGTH FROM USER_TAB_COLS WHERE TABLE_NAME = 'IS_A_BUG'
Voilà, si quelqu'un a une idée... ?
Merci
Partager