Hello !
J'ai une chaîne de 11 caractères que je dois convertir en NUMBER.
Bon mais c'est pas aussi simple :
'15' donne 0,15
0100' donne 1,00
1210 donne 12,10
etc...
Quel format dois-je mettre lorsque j'utilise To_Number ?
Merci, Frédéric
Hello !
J'ai une chaîne de 11 caractères que je dois convertir en NUMBER.
Bon mais c'est pas aussi simple :
'15' donne 0,15
0100' donne 1,00
1210 donne 12,10
etc...
Quel format dois-je mettre lorsque j'utilise To_Number ?
Merci, Frédéric
Qualque chose comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SQL> SELECT TO_CHAR( TO_NUMBER('15')/100, '999999999.00' ) FROM dual 2 / TO_CHAR(TO_NU ------------- .15 SQL>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SQL> SELECT TO_CHAR( TO_NUMBER('15')/100, '999999990.00' ) FROM dual 2 / TO_CHAR(TO_NU ------------- 0.15 SQL>
Merci![]()
Bonjour, j'ai un souci avec un format de nombre.
En fait, je fais un TO_NUMBER("salary", ???). Je ne sais pas quoi mettre pour avoir un format de ce genre: 1,234,567.89
???
Merci d'avance
Fais
G : séparateurs de milliers (dépend du paramètre NLS_NUMERIC_CHARACTERS définit dans la la session)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 to_number(salary,'999G999G990D.00')
D: séparateur décimal (dépend du paramètre NLS_NUMERIC_CHARACTERS définit dans la la session)
Ceci te permet d'avoir des séparateurs INDEPENDANTS de la langue (le séparateur décimal est . (point) en france, , (virgule aux US ou en UK)
Pour changer la valeur de ces séparateurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ALTER SESSION SET NLS_NUMERIC_CHARACTERS='.,' -- pour la france ALTER SESSION SET NLS_NUMERIC_CHARACTERS=',.' -- pour les US
Partager