|
Forums, dernières contributions
Ordre like '%valeur' sous DB2 sur une colonne de type alphanum
Bonjour à vous,
Voici mon problème :cry:
Dans une table DB2, j'ai crée une colonne de type alphanum de longueur 15c mais contenant des valeurs suivantes sur 5c: A1010, B1011, C1010...
Ensuite, j'ai utilisé dans BO l'opérateur correspond au modele '%1010' dans une requête pour n'avoir que des occurrences avec les valeurs terminant par 1010 mais le résultat est négatif.
Après recherche, l'explication est que les informations de type alphanum dans BD2 sont cadrées à gauche et complété par des blancs. J'ai donc modifié mon ordre like comme suit en terminant par 10 blancs '%1010 ' et cela fonctionne. C'est un peu lourdingue et je voudrais savoir si en amont lors de la phrase création de cette colonne dans DB2 y-a-t-il pas un moyen de supprimer tous ces blancs ou bien d'initialiser par des valeurs vides ?
Je veux surtout éviter de faire du bidouillage dans le sql avec rtrim ou de compléter par des blancs. Merci pour vos lumières.:D
Il faut utiliser le type VARCHAR pour qu'une zone en CHAR ne soit pas paddée avec des blancs. DB2 stocke juste la longueur utile mais il y a un octet supplémentaire pour enregisterer la longueur significative de la zone. J'espère que ça résoud votre problème
Bonjour,
Merci pour votre réponse et je vais essayer votre astuce mais je ne sais pas comment je dois interpreter cet octet supplémentaire dans la recherche de ma chaine de caractères avec le % ou bien c'est complément transparent.
A bientôt.
JL
bonjour,
ça sera complément transparent.
|