Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour 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 26/05/2008, 15h57   #1
Membre à l'essai
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 21
Points : 21
Par défaut Format de conversion to_number()

bonjour,
je souhaite convertir une chaine de caractere en numeric.
exple: 0803; en fait ce chiffre correspond a une date sous lle format 'aamm'
quand je fait
Code :
to_number(ma_variable,'0999') j'obtiens toujours 803(il m'enleve le 0)
quelqu'un peut me filer un coup de main?
merci d'avance
nabelou1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 16h01   #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
bah oui, 803 est un nombre... 0803 est une chaine de caractères... tu peux pas avoir un nombre 0803. Jusque là c'est du français. Maintenant si tu pouvais nous expliquer ce que tu veux faire de ce "chiffre" qui en réalité est un bout de date, j'suis sûr qu'on te trouvera une solution
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 16h25   #3
Membre à l'essai
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 21
Points : 21
ce bout de date correspond a un champ dans ma base de donnée ventes.
comme je fais des rapport avec Businness object, je dois crée une hierarchie(année, mois, ..).
pour cela il faut que je scinde ce bout de date en année , mois

exemple 0803-->08 (2008) 03(mars)
avec la conversion j'obtiens 803 ce qui donne 8 pour 2008 et 03(mars).

le premier est plus explicite.
je suis pommé sur ce coup.
nabelou1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 16h30   #4
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
et SUBSTR(tachaine, 1,2) pour l'année et SUBSTR(tachaine, 3,2) pour le mois c'est pas plus simple ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 16h38   #5
Membre à l'essai
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 21
Points : 21
le champ qiu doit contenir le bout de date est de type number.je voulais eviter toutes modif sur ma table pour ne pas saper les specifications initiales.
ce qui fait que je peux pas utilisé substr().
a moins qu'il n'y aie pas d'autres solutions.
nabelou1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 16h41   #6
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
bah c'est juste n'importe quoi d'avoir choisi le type number pour stocker autre chose qu'un nombre

Désolé mais il va non seulement falloir changer le type mais aussi updater la colonne pour compléter l'année (ajouter le 0 quoi). L'idéal étant évidemment d'avoir 2 colonnes
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 16h43   #7
Membre à l'essai
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 21
Points : 21
ok message reçu je vais change de type .
merci pour le coup de main
nabelou1 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 20h39.


 
 
 
 
Partenaires

Hébergement Web