|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 6 ![]() |
Bonjour
Je suis sous SQLPlus. Je souhaiterai interroger une BD avec un script et obtenir en sortie un fichier avec des ligne de format : Voici mon script : Code :
- lorsque la valeur vaut NULL, sur la sortie j'ai un vide et je souhaiterai qu'il y a NULL affiché, comment faire ?? - dans la requête que j'ai faite, toutes les valeurs sont entre guillemets et le problème est que je ne veux pas que la valeur NULL soit entre guillemets. Merci de m'aider |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Essayez :
Code :
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 6 ![]() |
Ca marche nikel pour la valeur NULL.
Mais je souhaiterai avoir la valeur entre guillemets si celle ci est différente de NULL (je sais, je suis chiant Exemple : Dans la requête que tu viens de me citer, on a un résultat du type Je m'explique : - Si val3 vaut toto, on a - Si val3 vaut NULL, on a Et moi je souhaiterai : - Si val3 vaut toto, on a - Si val3 vaut NULL, on a |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Tout simplement :
Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 6 ![]() |
J'ai testé ta commande mais elle n'a pas l'air de passer sous sqlplus. J'ai trouvé ca vraiment étonnant
On m'a indiqué une autre solution. Je l'ai testé et ca marche. Je pense que c'est celle ci que je vais adopter : Code :
SELECT DECODE(COL1,NULL,'NULL','"'||COL1||'"') ||','|| DECODE(COL2,NULL,'NULL','"'|| COL2 ||'"') FROM MA_TABLE; En tout cas, merci beaucoup Magnus !! |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Effectivement, j'ai adapté mon code un peu vite : si COL1 IS NULL est vrai alors '"' || COL1 || '"' vaut '""' et donc n'est pas NULL.
Il faut en effet utiliser DECODE. |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Juste pour info, pour ce genre de problèmatique il y a la fonction nvl2 qui est particulièrement indiquée :
Code :
SELECT nvl2(col1, '"' || col1 || '"', 'null') FROM maTable;
__________________
Un problème sans solution est un problème mal posé Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP. |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 6 ![]() |
Je viens de tester le NVL2 et ca marche nikel aussi. Il y a donc 2 solutions
Merci a tous !!! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com