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 :

[9i][SQLPLUS][PL/SQL] LPAD et le caractere espace ?


Sujet :

Sql*Plus Oracle

  1. #1
    Membre régulier

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Points : 80
    Points
    80
    Par défaut [9i][SQLPLUS][PL/SQL] LPAD et le caractere espace ?
    Je voudrais savoir pourquoi le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     begin
      DBMS_OUTPUT.PUT_LINE(LPAD('A',10));
     end;
    affiche :
    au lieu de :
    merci
    @+SALI

  2. #2
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    pour moi ça fonctionne correctement...
    avec quel outil ? quelle version de Oracle ?

  3. #3
    Membre régulier

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Points : 80
    Points
    80
    Par défaut
    9i et SQLPLUS
    en essayant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    begin 
      DBMS_OUTPUT.PUT_LINE(LPAD('A',10,'-')); 
     end;
    j'obtien :

  4. #4
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Doc : http://download-east.oracle.com/docs...htm#SQLRF00663

    Le 1er paramètre est la chaine a compléter (à gauche vu qu'il s'agit de LPAD; mais à droite si on parle de RPAD)
    Le 2nd paramètre est la longueur finale attendue (après complétion)

    [Le 3ème paramètre est le caractère qui doit être utilisé pour compléter la chaine passée en premier paramtère
    Ce 3ème paramètre est facultatif; sa valeur par défaut est <ESPACE>]

    [EDIT]
    Attention : DBMS_OUTPUT, (tout comme la fonction echo sous certains unix) fait automatiquement un TRIM de la chaine, supprimant alors les espaces.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SQL> begin
      2     dbms_output.put_line( LPAD('A', 10) );
      3  end;
      4  /
    A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> begin
      2     dbms_output.put_Line('*' || LPAD('A', 10) || '*');
      3  end;
      4  /
    *         A*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> select LPAD('A', 10) from dual;
     
    LPAD('A',1
    ----------
             A
    Ce n'est donc pas LPAD qui est en cause, mais DBMS_OUTPUT ! ;-)
    [/EDIT]

  5. #5
    Membre régulier

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Points : 80
    Points
    80
    Par défaut
    est ce qu'il y a un moyen pour eviter que le TRIM effecuter par DBMS.OUTPUT

  6. #6
    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
    Points : 4 926
    Points
    4 926
    Par défaut
    set serverout on for wra

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

Discussions similaires

  1. [T-SQL]Conversion chaine de caracteres -> HEXA
    Par julio84 dans le forum Sybase
    Réponses: 1
    Dernier message: 21/09/2006, 08h28
  2. [SYBASE][T-SQL]Conversion chaine de caracteres -> HEXA
    Par julio84 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/09/2006, 16h28
  3. [9i][SQLPLUS][PL/SQL] ORA-20000 ?
    Par sali dans le forum Oracle
    Réponses: 1
    Dernier message: 06/04/2006, 08h04
  4. Réponses: 6
    Dernier message: 12/02/2006, 08h31
  5. Réponses: 5
    Dernier message: 12/02/2006, 06h37

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