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

Requêtes PostgreSQL Discussion :

Recherche sans ponctuation


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut Recherche sans ponctuation
    Bonjour,

    Je dois rechercher des clients par leur n° de tel. Les données sont très hétérogènes et les n° peuvent être écrits de différentes manières '01.02.03.04.05' ou '01 02 03 04 05' ou '01-02-03-04-05' ou encore '0102030405'.

    Comment puis-je par une requête simple rechercher tous les clients dont le n° commence par '0102' sans tenir compte de la ponctuation ?

    Merci d'avance
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  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
    21 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    1) La solution stupide consiste à retirer à la volée (donc dans le SELECT...)tout ce qui n'est pas chiffre pour faire la comparaison...
    2) La solution intelligente consiste à retirer définitivement tous ces caractères inutiles par un UPDATE.
    3) La solution parfaite consiste à contrôler la saisie (par une contrainte de validation) ou corriger la saisie (par un déclencheurs) et retirer définitivement tous ces caractères inutiles par un UPDATE

    La solution 1 non seulement va consommer beaucoup de temps, mais ne sera jamais indexables !

    Voici un extrait de mon prochain livre sur le langage SQL :

    Nom : Le langage SQL, théorie et pratique - extrait CH2 bruit exemple téléphone.jpg
Affichages : 168
Taille : 481,8 Ko

    A +
    Images attachées Images attachées  
    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 chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Pour le moment je ne peux pas mettre à jour toutes les données mais ca sera discuté en réunion dès que possible. Les données arrivant de divers logiciels, on a parfois des surprises.

    Pour le moment j'ai pris la solution la moins élégante que j'avais trouvé , à savoir utiliser un translate pour virer tous les caractères inutiles. J'espérais que le full-text m'apporterais une solution à ce sujet mais tant pis...

    Merci,
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  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 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Non, le fulltext sera pire : chaque groupe de chiffre sera un "mot" différent !

    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 chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Ok je reste sur ma solution de départ que je trouve non élégante mais qui fonctionnera pour ce dont j'ai besoin.

    Merci,
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

Discussions similaires

  1. Recherche sans accents
    Par cerede2000 dans le forum Requêtes
    Réponses: 1
    Dernier message: 12/05/2007, 21h36
  2. Recherche sans tenir compte des accents
    Par killerjeff dans le forum Access
    Réponses: 6
    Dernier message: 27/01/2007, 10h19
  3. Moteur de recherche sans bdd
    Par taly dans le forum Langage
    Réponses: 4
    Dernier message: 29/06/2006, 10h47
  4. faire une recherche sans tenir compte de la casse
    Par richard038 dans le forum SQL
    Réponses: 5
    Dernier message: 11/10/2005, 09h07

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