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 Oracle Discussion :

Probleme sqlplus command : column (champs tronqués)


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut Probleme sqlplus command : column (champs tronqués)
    Bonjour tous le monde,

    Je vous expose mon probleme :
    J'effectue une requete sql via sqlplus en formatant certain champ via la commande column (le format en sortie est important dans mon cas, je fais du reporting) :
    set pagesize 50000 feedback off verify off echo off
    set line 5000
    SET COLSEP ";"
    set trimspool on
    SET HEADING ON
    set und off
    set numwidth 22
    COLUMN CHAMP1 FORMAT a10
    select CHAMP1, CHAMP2 from TABLE ;


    J'obtiens le résultat suivant (en gros) :
    CHAMP1 ;CHAMP2
    contenu1 ;10
    contenu21 ;101
    contenu333;10001


    Mais si je change la commande COLUMN :
    COLUMN CHAMP1 FORMAT a5

    La j'obtiens le résultat abérrant suivant :
    CHAMP1 ;CHAMP2
    conte;10
    nu1 ;
    conte; 101
    nu21 ;
    conte,10001
    nu333;


    Premiere question : Est ce un comportement normal pour sqlplus ou est ce mon formatage qui est mal exprimé ?

    Seconde question : Si le champ2 fait plus de 10 caracteres son entete est tronqué dans le résultat de ma requete :
    Si le champ2 se nomme : champtreslong_treslong
    Je le retrouve dans le résultat de ma requete en champtresl
    Sauriez vous pourquoi et comment changer ce résultat ?

    Merci d'avance pour votre aide

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Pour la première question, il suffit d'ajouter :
    SET WRAP OFF

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par Jc75011 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    COLUMN CHAMP1 FORMAT a10
    select CHAMP1, CHAMP2 from TABLE ;
    J'obtiens le résultat suivant (en gros) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CHAMP1     ;CHAMP2
    contenu1  ;10     
    contenu21 ;101    
    contenu333;10001
    Mais si je change la commande COLUMN :
    COLUMN CHAMP1 FORMAT a5

    La j'obtiens le résultat abérrant suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CHAMP1     ;CHAMP2
    conte;10
    nu1  ;     
    conte; 101
    nu21 ;   
    conte,10001
    nu333;
    Premiere question : Est ce un comportement normal pour sqlplus ou est ce mon formatage qui est mal exprimé ?

    Seconde question : Si le champ2 fait plus de 10 caracteres son entete est tronqué dans le résultat de ma requete :
    Si le champ2 se nomme : champtreslong_treslong
    Je le retrouve dans le résultat de ma requete en champtresl
    Sauriez vous pourquoi et comment changer ce résultat ?

    Merci d'avance pour votre aide
    1) cela n'a rien d'abhérant, tu décides d'avoir des colonnes de 5 charactères, si un champ fait plus de 5 charactères, le défaut est de couper le mot (WRAPPED). Si tu veux tronquer, alors TRU
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> col CHAMP1 for a5 wra
    SQL> select 'abcdefghi' champ1, '12345' champ2 from dual;
    CHAMP CHAMP
    abcde 12345
    fghi
    SQL> col CHAMP1 for a5 tru
    SQL> select 'abcdefghi' champ1, '12345' champ2 from dual;
    CHAMP CHAMP
    abcde 12345
    2) pour les champs non-numériques, si tu veux l'entête, formatte la largeur de colonne en conséquence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SQL> clear col
    columns cleared
    SQL> select 'abcde' champ_avec_entete, '12345' champ2 from dual;
    CHAMP CHAMP
    abcde 12345
    SQL> col CHAMP_AVEC_ENTETE for a17 tru
    SQL> col CHAMP2 for a6 tru
    SQL> select 'abcde' champ_avec_entete, '12345' champ2 from dual;
    CHAMP_AVEC_ENTETE CHAMP2
    abcde             12345

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut
    Merci beaucoup
    Le wrap off marche bien et pour la seconde question effectivement c'était une étourderie de ma part.

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

Discussions similaires

  1. [cr 8.5] pb bizarre sur 1ère page (champs tronqués..)
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 09/02/2007, 15h47
  2. probleme la commande OR dans SQL
    Par amelhog dans le forum Langage SQL
    Réponses: 10
    Dernier message: 19/08/2005, 12h22
  3. Probleme d'extraction des champs nuls
    Par ETOKA dans le forum SQL
    Réponses: 2
    Dernier message: 17/01/2005, 11h03
  4. probleme de reconnaissance de champ
    Par jengo dans le forum Bases de données
    Réponses: 1
    Dernier message: 27/10/2004, 12h42
  5. [langage] Probleme avec commande system et code
    Par Ludo167 dans le forum Langage
    Réponses: 3
    Dernier message: 14/07/2004, 12h01

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