IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sql*Plus Oracle Discussion :

[Sqlplus] Format de sortie


Sujet :

Sql*Plus Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Par défaut [Sqlplus] Format de sortie
    Bonjour
    Je suis sous SQLPlus.
    Je souhaiterai interroger une BD avec un script et obtenir en sortie un fichier avec des ligne de format :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "val1","val2","val3",NULL,"val5"
    Voici mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    spool toto.lst
    set pagesize 0
    set linesize 200
    set heading off
    set echo off
    SELECT '"'||COL1||'","'||COL2||'","'||COL3||'"' FROM MA_TABLE;
    spool off
    Les problèmes que je rencontre :
    - 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

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    Essayez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    SELECT '"'||NVL(COL1, 'NULL')||'","'||NVL(COL2, 'NULL')||'","'||NVL(COL3, 'NULL')||'"'
    FROM MA_TABLE;
    ...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Par défaut
    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

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    Tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT NVL('"' || COL1 || '"', 'NULL'), ...
    FROM MA_TABLE

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DECODE(COL1,NULL,'NULL','"'||COL1||'"') ||','|| DECODE(COL2,NULL,'NULL','"'|| COL2 ||'"') FROM MA_TABLE;
    Voili voilou.
    En tout cas, merci beaucoup Magnus !!

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formaté la sortie
    Par aikinhdo dans le forum Langage
    Réponses: 6
    Dernier message: 25/04/2007, 14h54
  2. Format de sortie
    Par xtitof dans le forum Fortran
    Réponses: 2
    Dernier message: 20/03/2007, 11h36
  3. Réponses: 8
    Dernier message: 15/06/2006, 20h56
  4. [VB6] debutant format de sortie d un fichier
    Par Slumpy dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/05/2006, 21h49
  5. format de sortie commande \pset
    Par Alesk dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 30/01/2006, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo