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 :

Format de sortie d'un timestamp


Sujet :

Sql*Plus Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de macben
    Inscrit en
    Mars 2004
    Messages
    546
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2004
    Messages : 546
    Par défaut Format de sortie d'un timestamp
    Bonjour,

    Sous SQL*Plus je me pose une question depuis un moment, mais aujourd'hui cette question me gêne.

    Je suis en 9.2.0.8 et lors de l'affichage d'une colonne TAB_COL_003 de type TIMESTAMP DEFAULT LOCALTIMESTAMP NOT NULL par un Select, la colonne apparaît bien mais sur un affichage de 75 caractères complété par des blancs*!

    Ma variable NLS_TIMESTAMP_FORMAT est correctement formatée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SQL> select * from table;
    
    TAB_COL_001   TAB_COL_002
    ------------- -----------
    TAB_COL_003                                                                 R R
    --------------------------------------------------------------------------- - -
    R R R R R R R R R R R R R R R R R R
    - - - - - - - - - - - - - - - - - -
    1010156260226           1
    2009-03-17-13.34.12.514602           ici il y a des blancs  1 0
    1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
    
    1080978001001           1
    2009-03-17-16.42.41.944386                                                  1 1
    1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    Mes questions sont donc :
    • pourquoi SQL*Plus ne se contente pas d'afficher les colonnes de type timestamp comme elles sont stockées ?
    • pourquoi ajoute-t-il plein de blanc ?
    • y a-t-il une option sous l'affichage SQL*Plus pour éviter de devoir reformater chaque colonne en les nommant explicitement ?


    Merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    La commande SQL*Plus COLUMN permet de formater la colonne résultat (testé avec SQL*Plus XE (10.2.0.1)):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SQL> select systimestamp c, sysdate from dual;
     
    C
    ---------------------------------------------------------------------------
    SYSDATE
    --------
    30/07/10 13:30:55,951000 +02:00
    30/07/10
     
     
    SQL> column c format a35
    SQL> select systimestamp c, sysdate from dual;
     
    C                                   SYSDATE
    ----------------------------------- --------
    30/07/10 13:31:01,918000 +02:00     30/07/10

  3. #3
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    si tu as plein de blanc excessifs, cela peut venir du fait que tu aie comme charset local UTF8.
    Dans ce cas, sql*plus ne formate pas par défaut la largueur de la colonne sur la taille max de la colonne mais sur x3 sa taille max (en raison du caractère multibytes de UTF8).

    tu peux contrôler la largueur affichée des colonnes via les options de sql*plus.
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  4. #4
    Membre éclairé Avatar de macben
    Inscrit en
    Mars 2004
    Messages
    546
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2004
    Messages : 546
    Par défaut
    Citation Envoyé par pifor Voir le message
    La commande SQL*Plus COLUMN permet de formater la colonne résultat (testé avec SQL*Plus XE (10.2.0.1)):
    Cette solution me conviendrait, mais il faudrait pouvoir le faire pour un type de colonne sans avoir à nommer toutes les colonnes.

    En effet étant sur des bases décisionnels je fais des SELECT * sans nommer mes colonnes, et donc j'aimerai lui dire de reformater toutes les colonnes de type TimeStamp.

Discussions similaires

  1. Format de sortie
    Par xtitof dans le forum Fortran
    Réponses: 2
    Dernier message: 20/03/2007, 11h36
  2. [Sqlplus] Format de sortie
    Par cheung dans le forum Sql*Plus
    Réponses: 7
    Dernier message: 03/11/2006, 09h28
  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