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

Développement SQL Server Discussion :

Select where constante présente dans un champ de la table


Sujet :

Développement SQL Server

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Select where constante présente dans un champ de la table
    Bonjour,

    J'ai une table d'articles, composée de 5 lignes:

    ID LIB CODE
    == === ====

    N°1 ART1 POMME
    N°2 ART2 POIRE
    N°3 ART3 PRUNE
    N°4 ART4 FRAISE
    N°5 ART5 APOLLON

    Je souhaite réaliser un "select" qui me sortira toutes les lignes, qui ont le code se trouvant dans la chaine de caractère "ABRICOT_PRUNE_CERISE_APOLLON_TEST", par exemple.
    Cela devrait me sortir 3 et 5.

    Une sorte de:

    txt = "ABRICOT_PRUNE_CERISE_APOLLON_TEST"
    select * from articles where txt like %code%

    Qqun aurait-il une idée ?

    Merci !

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DECLARE @txt varchar(100) = 'ABRICOT_PRUNE_CERISE_APOLLON_TEST';
    SELECT * FROM articles WHERE CHARINDEX(code, @txt) > 0;
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Ou encore, avec l'aide d'XQuery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    DECLARE @article TABLE
    (
    	ID tinyint NOT NULL IDENTITY PRIMARY KEY 
    	, LIB char(4) NOT NULL
    	, CODE varchar(8) NOT NULL UNIQUE
    )
     
    INSERT INTO @article (LIB, CODE)
    VALUES ('ART1', 'POMME')
    	, ('ART2', 'POIRE')
    	, ('ART3', 'PRUNE')
    	, ('ART2', 'FRAISE')
    	, ('ART2', 'APOLLON')
     
    DECLARE @txt varchar(1024) = 'ABRICOT_PRUNE_CERISE_APOLLON_TEST'
     
    SELECT		A.*
    FROM		@article AS A
    INNER JOIN	(
    			SELECT		N.article_code.value('.', 'varchar(8)') AS article_code
    			FROM		(VALUES(CAST('<v>' + REPLACE(@txt, '_', '</v><v>') + '</v>' AS xml))) AS AC(article_code)
    			CROSS APPLY	AC.article_code.nodes('/v') AS N(article_code)
    		) AS AC(article_code)
    			ON AC.article_code = A.CODE

Discussions similaires

  1. Lecteur des fichiers présents dans un champ blob
    Par qmike dans le forum Langage
    Réponses: 0
    Dernier message: 21/07/2010, 13h58
  2. [MySQL] Trouver si une lettre existe dans le champ d'une table dans un SELECT
    Par pasc06 dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 29/12/2008, 09h01
  3. Réponses: 2
    Dernier message: 21/07/2008, 16h53
  4. Selection d'un texte dans un champs
    Par kemiolek dans le forum VBA Access
    Réponses: 8
    Dernier message: 30/06/2008, 15h43
  5. [MySQL] vérifier qu'un nom est déjà présent dans un champ
    Par abdou1664 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/05/2007, 15h00

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