|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2010 Messages : 23 ![]() |
J'ai une colonne X avec des valeurs au format varchar que je dois convertir en format number.
X 0.2545 --> 0.2545 X 0.25451 --> 0.2545 X 10.214558 -->10.2145 La chaine de caractere de la colone X est variable Jutilise la commande select to_number(X, '9999.9999') from dual; Mon probème se situe dans le 3 ème cas,lorsque le nombre de caractères après la virgule est supérieur à 4 cela ne fonctionne pas Erreur number invalid Y a t'il une astuce pour ne pas tenir compte du nombre de caracteres après la virgule ? |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
Bonjour,
Essaie comme ça : Code :
SELECT to_number(substr(X, 1, instr(X, '.') + 4), '9999.9999') |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() O. JolySupport Inscription : décembre 2010 Messages : 287 ![]() |
Vous pouvez utiliser to_number sans préciser le format.
Que voulez-vous faire exactement ? |
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Citation:
|
|
|
|
10
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2010 Messages : 23 ![]() |
Le to_number seul ne fonctionne que si la chaine de carcteres contient une virgule,avec le point ne fonctionne pas
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Mais non ça dépend des paramétré NLS_NUMERIC_CHARACTERS
|
|
|
10
|
Copyright © 2000-2012 - www.developpez.com