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

Langage SQL Discussion :

comment vérifier la présence d'une valeur ds une chaîne ?


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 71
    Points : 43
    Points
    43
    Par défaut comment vérifier la présence d'une valeur ds une chaîne ?
    bonjour.
    je voudrais tester si une valeur (1 par exemple) appartient à un chaine 3,4,1,5

    Select nom From latable Where "3,4,1,5" {contient} "1"
    mon problème, c'est comment implémenter le {contient}
    j'ai vraiment testé toutes les clauses que je connaissais IN, LIKE, etc
    mais en vain
    est ce que quelqu'un pourrait m'aider à bien poser la requête ?
    éventuellement en utilisant les fonctions SQL ?

    merci d'avance

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mai 2002
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 35
    Points : 36
    Points
    36
    Par défaut
    Tu peux peut-être utiliser la fonction POSITION, mais attention, elle ne fonctionne pas avec tous les SGBD...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Salut,

    t'es sur qu'avec un LIKE ca marche pas?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select nom From latable Where ChampATester LIKE '%1%'

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 71
    Points : 43
    Points
    43
    Par défaut
    finalement j'ai utilisé cela comme solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select nom From Latable 
    Where "3,5,4,1" like '1,%' 
    Or "3,5,4,1" Like '%,1,%' 
    Or "3,5,4,1" Like '%,1' 
    Or "3,5,4,1" Like '1'
    Merci de votre aide !

  5. #5
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    En voyant ta propre solution, j'en déduis que le formatage est strict, et qu'il y a toujours une virgule et un blanc devant chaque champ, sauf le premier, et toujours une virgule derrière, sauf le dernier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select nom From Latable 
    Where ', ' || leChamp || ',' like '%, 1,%'
    || = opérateur de concaténation
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 1
    Dernier message: 15/07/2014, 17h57
  3. [XL-2010] Comment tranférer une valeur d'une listbox (userform) à une cellule de worksheet?
    Par Guy7090 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/07/2014, 14h29
  4. Réponses: 6
    Dernier message: 02/08/2011, 13h50
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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