Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/11/2007, 10h25   #1
Invité de passage
 
Inscription : avril 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 2
Points : 0
Points : 0
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 :
1
2
SELECT .... FROM T1
WHERE PRENOM = 'JEAN'
ou

Code :
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.
fdCeriag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 10h43   #2
Membre habitué
 
Inscription : septembre 2004
Messages : 123
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 123
Points : 127
Points : 127
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.
alex. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 10h49   #3
Invité de passage
 
Inscription : avril 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 2
Points : 0
Points : 0
Par défaut varchar 15

Merci de me répondre.

En fait la colonne est une colonne VARCHAR(15).
fdCeriag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 13h16   #4
Membre habitué
 
Inscription : septembre 2004
Messages : 123
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 123
Points : 127
Points : 127
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.
alex. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2007, 07h15   #5
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

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

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
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.
jab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h09.


 
 
 
 
Partenaires

Hébergement Web