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 24/12/2007, 14h23   #1
Membre du Club
 
Inscription : décembre 2007
Messages : 147
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 147
Points : 42
Points : 42
Par défaut Divisé un champ en deux dans un select

Bonjour à tout le monde,

Alors voilà j'ai un ptit problème : j'ai une table et dans un champ, disons, "prix" j'ai des montants négatif et positif. Est-ce que je px lors d'un select séparé dans deux champs distincts le positif et nagatif...j'ai beau chercher j'vois pô...Je suis sur Oracle 9...Si une personne a une piste j'suis preneur...Merci d'avance.
saigon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/12/2007, 10h03   #2
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Code :
SELECT To_char( TRUNC ( la_colonne ) )),To_char( la_colonne - TRUNC (la_colonne ) ) ) FROM ...
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2007, 14h54   #3
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Je pense qu'il veut plutôt avoir une colonne Prix Positif et une colonne Prix Négatif

2 Solution, le DECODE + SIGN ou le CASE

Code :
1
2
3
4
5
6
7
8
SELECT (CASE WHEN prix >= 0 then prix else NULL end) AS prix_positif,
(CASE WHEN prix < 0 then prix else NULL end) AS prix_negatif
FROM ...
 
ou
SELECT DECODE(sign(prix), -1, NULL, prix) AS prix_positif,
DECODE(SIGN(prix), -1, prix, NULL) AS prix_negatif
FROM ...
A savoir pour le sign : >0 renvoit 1, 0 renvoit 0, <0 renvoit -1
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h47.


 
 
 
 
Partenaires

Hébergement Web