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 :

Sélectionner les noms comportant plusieurs fois la même lettre


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut Sélectionner les noms comportant plusieurs fois la même lettre
    Bonjour ,
    Je voudrais savoir s'il existe une méthode pour exclure des résultats par exemple les noms contenants 2x ou 3x ou 4x....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select nom from table where nom like '%xx%' or nom like '%xxx%'
    et ceci sur d'autres lettres....
    Merci d'avance

  2. #2
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    A ma connaissance, il n'existe pas de fonction SQL permettant de le faire.
    Cependant, en fonction du SGBD utilisé, une petite fonction peut faire l'affaire.

    Bon Courage

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Par défaut
    SELECT nom FROM Table WHERE nom not in (SELECT nom FROM TABLE WHERE nom LIKE '%xx%' OR nom LIKE '%xxx%')

    Je pense que ca devrait fonctionner ce systeme dans ton cas

  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
    21 997
    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 997
    Billets dans le blog
    6
    Par défaut
    Utilisez une UDF.

    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
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Tu peux utiliser une table de travail sur les chaines à exclure et faire une requête dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE exclusion
        (   exclure VARCHAR(10)
        )
    ;
    INSERT INTO exclusion
    VALUES  ('xx')
    ;
    SELECT  tbl.*
    FROM    matable AS tbl
        INNER JOIN
            exclusion   AS exc
            ON  tbl.nom LIKE '%' || exc.exclure || '%'
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Membre chevronné
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Par défaut
    Citation Envoyé par babafredo Voir le message
    Bonjour ,
    Je voudrais savoir s'il existe une méthode pour exclure des résultats par exemple les noms contenants 2x ou 3x ou 4x....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select nom from table where nom like '%xx%' or nom like '%xxx%'
    et ceci sur d'autres lettres....
    Merci d'avance
    Vous pouvez le faire en combinant les fonctions length et replace
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nom from ma_table where length(nom)-Length(Replace(nom,'xx','')) > 1

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/12/2013, 15h46
  2. @GenericGenerator : plusieurs fois le même nom
    Par CinePhil dans le forum Hibernate
    Réponses: 0
    Dernier message: 15/10/2010, 14h35
  3. [VBA-W] Executer plusieurs fois la même procédure
    Par delamarque dans le forum VBA Word
    Réponses: 3
    Dernier message: 05/12/2005, 13h39
  4. [JFrame] réafficher plusieurs fois un même panel à l'écran
    Par Monkeyget dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 01/04/2005, 14h29
  5. [VB.NET] Appliquer plusieurs fois la même fonction...
    Par MiJack dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/09/2004, 10h52

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