Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2007, 12h07   #1
Invité de passage
 
Inscription : juin 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 8
Points : 1
Points : 1
Par défaut prblème de conversion de chaîne en nombre

Bonjour,

Voici le pb, je voudrais convertir une chaîne de caractère numérique en nombre en supprimant la virgule s'il y en a une :

1 -> 100
10 -> 1000
10.01 -> 1001
100.25 -> 10025

je ne vois pas trop comment faire ça avec to_number

avec to_char ok : select to_char(12.4,'999V99') from dual;
gorgorbhey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2007, 12h13   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Code :
to_number(REPLACE(ton_nombre,'.',''))
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2007, 12h16   #3
Membre émérite
 
Avatar de Yorglaa
 
Inscription : janvier 2004
Messages : 845
Détails du profil
Informations personnelles :
Âge : 41
Localisation : Suisse

Informations forums :
Inscription : janvier 2004
Messages : 845
Points : 939
Points : 939
ça ne vas pas jouer pour les 2 premiers cas...

en plus de la solution de Fred_D, essaye d'imbriquer également la fonction RPAD si tu veux impérativement 4 chiffres au minimum, ou de jouer avec les formats dans la fonction to_number...
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

Yorglaa
Yorglaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2007, 12h28   #4
Invité de passage
 
Inscription : juin 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 8
Points : 1
Points : 1
ben oui en fait j'ai besoins d'avaoir les décimales sans le point, s'il n'y a pas d décimales alors il faut mettre deux zéro.

ou bien je fais un

to_number(to_char(12.4,'999V99')) ???

ça marche mais je me demande si on peut pas le faire directement avec la fonction to_number ?

Merci pour votre aide
gorgorbhey est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h56.


 
 
 
 
Partenaires

Hébergement Web