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 :

Enregistrements ayant le caractère %


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 14
    Par défaut Enregistrements ayant le caractère %
    J’ai une base de données SQL Server.

    Je veux chercher les enregistrements de la table (Produits par exemple) dont le champ (libelle) contient le caractère "%".

    Avez-vous une idée sur la requête de recherche ?

    Si j'utilise la requête suivante, cette dernière me retourne tous les enregistrements sans exception .

    select * from PRODUITS where libelle like '%'

    Merci de votre aide.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Il n'y a pas d'enregistrement dans une table. Il y a des lignes. À me lire : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L2

    % est un joker du LIKE. Pour rechercher spécifiquement le caractères % il faut définir un caractères d'échappement, par exemple ~

    À me lire : http://sqlpro.developpez.com/cours/sqlaz/select/#L3.4

    Dans votre cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from PRODUITS 
    where libelle like '%~%%' ESCAPE '~'
    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/ * * * * *

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 14
    Par défaut
    Merci pour ta réponse.
    c'est la requete SQL dont je cherche, effectivement ça marche bien la recherche .
    on pourrait donc utiliser la requete avec un autre paramètre d'échappement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from PRODUITS 
    where libelle like '%~%%' ESCAPE '~'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from PRODUITS 
    where libelle like '%/%%' ESCAPE '/'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from PRODUITS 
    where libelle like '%_%%' ESCAPE '_'

    Citation Envoyé par SQLpro Voir le message
    Il n'y a pas d'enregistrement dans une table. Il y a des lignes. À me lire : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L2

    % est un joker du LIKE. Pour rechercher spécifiquement le caractères % il faut définir un caractères d'échappement, par exemple ~

    À me lire : http://sqlpro.developpez.com/cours/sqlaz/select/#L3.4

    Dans votre cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from PRODUITS 
    where libelle like '%~%%' ESCAPE '~'
    A +

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    éviter le _ en tant que caractère d'échappement, car c'est un joker du LIKE !!!

    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/ * * * * *

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 14
    Par défaut
    C’est noté,
    Encore une fois, Merci pour la réponse

    Citation Envoyé par SQLpro Voir le message
    éviter le _ en tant que caractère d'échappement, car c'est un joker du LIKE !!!

    A +

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/03/2007, 11h48
  2. Réponses: 10
    Dernier message: 06/02/2007, 15h25
  3. Réponses: 2
    Dernier message: 03/02/2007, 15h35
  4. Un seul enregistrement ayant true.
    Par berceker united dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 24/08/2006, 13h56
  5. Obtenir les enregistrements ayant le même nom et prénom
    Par llc123 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/07/2006, 15h47

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