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 :

Ordre like '%valeur' sous DB2 sur une colonne alphanum


Sujet :

DB2

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Points : 12
    Points
    12
    Par défaut Ordre like '%valeur' sous DB2 sur une colonne alphanum
    Bonjour à vous,
    Voici mon problème :
    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 essayé d'utiliser l'instruction like '%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.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut Like '%1010%'
    Citation Envoyé par JLDESIR
    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 ne pense pas qu'on puisse le faire sinon peut-être déclarer la colonne en VARCHAR dans la table,
    mais Bof !
    .
    Perso, je la laisserais comme elle est et je ferais mon like en encadrant la valeur recherchée par un % de part et d'autre.
    Par ex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select .. From MaTable
    Where colonne like '%1010%'

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Points : 12
    Points
    12
    Par défaut %1010%
    Citation Envoyé par Mercure
    Je ne pense pas qu'on puisse le faire sinon peut-être déclarer la colonne en VARCHAR dans la table,
    mais Bof !
    .
    Perso, je la laisserais comme elle est et je ferais mon like en encadrant la valeur recherchée par un % de part et d'autre.
    Par ex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select .. From MaTable
    Where colonne like '%1010%'
    Bonsoir,

    Merci pour votre reponse. Cependant, je ne veux selectionner que les valeurs terminant par 1010 dans ma table. exempe : Si j'ai une donnée commençant par 10100 et une autre par A1010 seule la dernière doit être prise. Avec votre idée, les 2 occurrences seront selectionnées et ce n'est bon.
    jl

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Un substring peut être ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT ... FROM MATABLE 
    WHERE SUBSTR(MACOLONNE,1,4) = '1010'

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut Like '%1010 %'
    J'essaierais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... Where colonne like '%1010 %'
    c'est à dire avec un caractère blanc juste avant le % à droite de la valeur recherchée.

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

Discussions similaires

  1. Sommer les valeurs des cellules sur une colonne
    Par neon29200 dans le forum Composants
    Réponses: 1
    Dernier message: 10/05/2012, 01h16
  2. [AC-2010] Sous-état sur 2 colonnes avec état principale sur une
    Par Max67 dans le forum IHM
    Réponses: 1
    Dernier message: 02/11/2011, 13h41
  3. Réponses: 6
    Dernier message: 28/07/2011, 14h21
  4. [SP-2010] Valeur Calculé sur une colonne
    Par Kevin0363 dans le forum SharePoint
    Réponses: 4
    Dernier message: 19/05/2011, 11h49
  5. Ordre de sélection des lignes sur une table DB2
    Par Pierre Formosa dans le forum DB2
    Réponses: 1
    Dernier message: 26/04/2006, 20h03

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