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 du Club
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Points : 68
    Points
    68
    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 expérimenté 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
    Points : 1 738
    Points
    1 738
    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 régulier
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Points : 71
    Points
    71
    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 849
    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 849
    Points : 52 978
    Points
    52 978
    Billets dans le blog
    6
    Par défaut
    Utilisez une UDF.

    A +

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    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 099
    Points : 28 392
    Points
    28 392
    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 || '%'
    ;

  6. #6
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    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