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

MS SQL Server Discussion :

Découper une chaine de caractère pour un 'IN'


Sujet :

MS SQL Server

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

    Informations forums :
    Inscription : Août 2007
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Découper une chaine de caractère pour un 'IN'
    Bonjour a tous,

    J'ai un petit problème, le voici:

    J'ai une procédure stockée qui attend en paramètre une chaine du type '1, 2, 3'.

    Comment utiliser ce paramètre dans un 'SELECT' avec un 'IN'?

    Pour l'instant, j'ai une requête du type:

    SELECT * FROM Table WHERE numero IN @paramètre --La valeur du paramètre est '1,2,3' et j'aimerai qu'il ait la valeur '1','2','3' pour pouvoir executer correctement le IN

    Merci à tous pour vos réponses...

  2. #2
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    essaye de voir avec les mots de commande "HAVING" ou "PREDICATE"

    sans garantie...

    BOn courage

    Geof

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

    Informations forums :
    Inscription : Août 2007
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Avec les having et les predicate je ne vois pas comment faire mais sinon j'ai une solution, j'ai réussi à m'en sortir avec des 'LIKE':

    (@Paramètre)LIKE cast(numero as varchar(50))+',%'
    OR (@Paramètre)LIKE '%,'+cast(numero as varchar(50))+',%'
    OR (@Paramètre)LIKE '%,'+cast(numero as varchar(50))
    OR (@Paramètre)LIKE cast(numero as varchar(50))

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    bonjour,

    avec du sql dynamique sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    declare @params varchar(10)
    set @params='1,2,3'
     
    execute ('SELECT    .... WHERE COL IN ('+@params+')'
    je présume que la colonne numero est type numérique ?
    Emmanuel T.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Oui merci kagemaru, c'est ce que je cherchais, j'avais entendu parler de ce genre de fonction

    Ca m'a l'air plus propre de cette façon..

    Les données à afficher sont du type numérique, donc pas besoin de guillement je pense

Discussions similaires

  1. Bash - Découper une chaine de caractères
    Par nicolas.pissard dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 16/12/2014, 13h18
  2. Découper une chaine de caractères
    Par momomafioso dans le forum ASP.NET
    Réponses: 1
    Dernier message: 28/06/2007, 11h11
  3. [SQ2K] Découper une chaine de caractères
    Par maitrebn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/04/2007, 19h22
  4. Réponses: 6
    Dernier message: 15/04/2007, 13h06
  5. [VBA] Découper une chaine de caractères
    Par rantanplan81 dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/04/2007, 15h26

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