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

DB2 Discussion :

select et caractère blanc dans les chaines


Sujet :

DB2

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut select et caractère blanc dans les chaines
    je rencontre le cas suivant :
    j'ai dans la base une table (T1) avec une colonne PRENOM
    une ligne a pour valeur dans cette colonne 'JEAN ' (JEAN<ESPACE>).

    Si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT .... FROM T1
    WHERE PRENOM = 'JEAN'
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT .... FROM T1
    WHERE PRENOM = 'JEAN '
    j'ai le même résultat, à savoir la ligne décrite ci-dessus.
    Ce qui me paraît anormal. 'JEAN' ne devrait rien retourner.

    Qu'en pensez vous et savez vous pourquoi DB2 réagit comme celà ?


    Merci de vos éclairages.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 123
    Points : 146
    Points
    146
    Par défaut
    Bonjour,

    C'est normal. Prenom doit être du caractére (CHAR(x)), il y a donc cadrage à gauche.Par exemple, si ta colonne fait 8 de long, tu peux coder 'JEAN ' ou 'JEAN ', c'est pareil. Par contre si tu codes ' JEAN ', ça ne marchera plus. D'un point de vue pratique cela me semble normal, puisque qu'on ne va pas demander à un utilisateur de coder (et compter) x blancs pour respecter le format de la colonne. Imagine avec un char(100). D'un point de vue théorique, jean sais rien.

    Alex.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut varchar 15
    Merci de me répondre.

    En fait la colonne est une colonne VARCHAR(15).

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 123
    Points : 146
    Points
    146
    Par défaut
    Un point de doc sur ce sujet ( sur DB2 z ) :

    Varying-length strings with different lengths are equal if they differ only in the number of trailing blanks. In operations that select one value from a
    collection of such values, the value selected is arbitrary. The operations that can involve such an arbitrary selection are DISTINCT, MAX, MIN, and
    references to a grouping column. See the description of GROUP BY for further information about the arbitrary selection involved in references to
    a grouping column.

  5. #5
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Citation Envoyé par alex. Voir le message
    Un point de doc sur ce sujet ( sur DB2 z ) :

    Varying-length strings with different lengths are equal if they differ only in the number of trailing blanks. In operations that select one value from a
    collection of such values, the value selected is arbitrary. The operations that can involve such an arbitrary selection are DISTINCT, MAX, MIN, and
    references to a grouping column. See the description of GROUP BY for further information about the arbitrary selection involved in references to
    a grouping column.
    C'est vrai pour tout les environnements DB2.

Discussions similaires

  1. Supprimer tous les blancs dans une chaine de caractères
    Par joel74 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 20/02/2014, 16h19
  2. Caractères spéciaux dans les select
    Par KDZCrew dans le forum Zend_Form
    Réponses: 2
    Dernier message: 11/04/2011, 13h51
  3. Réponses: 3
    Dernier message: 19/12/2009, 21h30
  4. Remplacer les caractères accentués dans une chaine
    Par shaun_the_sheep dans le forum Général Java
    Réponses: 5
    Dernier message: 07/05/2008, 10h41
  5. [LG]Retirer les blancs dans une chaine
    Par Andy_24DB dans le forum Langage
    Réponses: 16
    Dernier message: 25/02/2004, 16h30

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