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 :

Problème LIKE Procédure stocké SQL Server 2000


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 16
    Points
    16
    Par défaut Problème LIKE Procédure stocké SQL Server 2000
    Bonjour à tous, voilà mon problème.
    Ayant essayer bon nombre de solutions auparavant, une personne ayant déjà eu ce genre de problème pourra j'espère m'éclairé car je suis sûre que la réponse coule de source.

    J'ai une produre stockées avec un paramètre du genre @MonParametre de type varchar.

    Je voudrais sélectionner tous les tuples dont un certain attribue commence par cette chaîne de caractère.

    Seulement ça ne marche pas ou les résultats ne sont faussés:

    -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MonChamp LIKE @MonParametre+ '%'
    - Envoyer de mon programme appelant un paramètre de type chaîne contenant le % à la fin et donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonChamp LIKE @MonParametre
    - Et divers syntaxe plus variés les une que les autres ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    (MonChamp LIKE @MonParametre+ '%')
    MonChamp LIKE "@MonParametre+ '%'"
    MonChamp LIKE (@MonParametre+ '%')
    ...

    Si je remplace dans ma Procédure @MonParametre par 'ABC%' par exemple, là ça marche.

    Alors quelle est donc cette syntaxe magique qui me turlupine

    Sachant que je suis sur une base SQL Serveur 2000

  2. #2
    Membre éclairé
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 815
    Points
    815
    Par défaut
    Pour ton probleme je sais pas

    A tout hasard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonChamp LIKE '@MonParametre+ "%"'
    mais est-ce qu'un LEFT ne marcherait pas ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create proc TESTPARAM (@monparam as varchar(50)) as
     
    select * from clients where titrecontact like @monparam
     
    go
     
    TESTPARAM 'ABC%'

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    J'ai déja essayé d'avoir un paramètre qui vaut ABC% ou 'ABC%' mais rien ni fait

    Concernant le '@MonParametre+"%"' ne marche pas non plus

    Je teste et reteste mais je passe à côté

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Sinon le left je ne connais pas à par dans les LEFT JOIN...

    Par contre je vais essayer une méthode avec SUBSTRING car j'en ai marre d'essayer des quôtes doubles quôtes et sans quôtes .

    La réponse viendra dans un sursaut je pense!! ^^

  6. #6
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    J'en ai marre je veux mourrir !!!!!!

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Pilhole Voir le message
    J'ai déja essayé d'avoir un paramètre qui vaut ABC% ou 'ABC%' mais rien ni fait

    Concernant le '@MonParametre+"%"' ne marche pas non plus

    Je teste et reteste mais je passe à côté


    Je viens de tester la procedure que je t'ai indiquée, cela fonctionne très bien.
    Ton problème est certainement ailleurs....

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Quel est le type de données de @MonParametre ? Si le type SQL de cette variable est du CHAR cela s'explique très bien. En effet le CHAR fait un remplissage à blanc, tant est si bien que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LIKE @MonParametre + '%'
    si @MonParametre est déclaré en CHAR(16) et contient 'toto', fait :
    Soit il vous faut transtyper en VARCHAR, soit il vous faut un paramètre en VARCHAR.

    Il aurait été plus intelligent et vous auriez perdu moins de temps si vous aviez posté le code de votre posc stock. Pensez y a l'avenir et sachez qu'en faisant cela vous recpecterez les règles de postage !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  9. #9
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    J'avais oublier la taille de mon paramètre varchar.

    Merci pour toutes vos réponses.

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

Discussions similaires

  1. [WD16] probléme procédure stockée SQL Server
    Par fweds dans le forum WinDev
    Réponses: 7
    Dernier message: 30/03/2012, 10h11
  2. Réponses: 0
    Dernier message: 27/04/2009, 16h13
  3. Procédures stockées SQL Server compatibles avec MySQL ?
    Par Nen'S dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 24/01/2006, 19h18
  4. Problème d'installation de sql server 2000
    Par michelci dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/12/2003, 08h02
  5. problème de float sur SQL server 2000.
    Par fidji dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 24/07/2003, 14h15

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