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

MySQL Discussion :

Mysql-Supprimer les espaces dans la clause WHERE


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut Mysql-Supprimer les espaces dans la clause WHERE
    Bonjour,

    Je me demande si d'autres ont déjà été confrontés à mon petit problème (et l'ont résolu !

    J'interroge une DB Mysql contenant les données de 1000 personnes environs.
    Une requête AJAX sélectionne tous les noms correspondant au fur et à mesure de la frappe des caractères saisis dans un champ texte.

    Le problème est le suivant: les espaces

    Lorsqu'on a tapé "de", on récupère :

    DE BODT
    DE BOCK
    de BOUCK
    DE CLERCQ
    DE GALAND
    DEBECKER
    DEBOUTE
    ....
    Le problème est double:
    1. l'ordre alphabétique est incorrect à cause des espaces (mais de cela, je pourrais encore m'arranger)
    2. dès que je tape la 3e lettre, "b" par exemple, il ne me reste plus que

    DEBECKER
    DEBOUTE
    ...

    Et là c'est la cata ! j'ai perdu tous les noms en "DE " à particule !

    Il faudrait pouvoir mettre une expression dans la clause WHERE permettant de supprimer les espaces, mais quoi ?

    Si un petit génie avait une idée... géniale , je serai ravi de pouvoir en profiter.

    Merci d'avance à tous les génies
    Mike

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 816
    Billets dans le blog
    14
    Par défaut
    En tant qu'utilisateur, si je cherche M. De Boucke, je ne vais pas commencer à taper 'Deb' ou 'DeB' mais bel et et bien 'De '.
    À l'utilisateur de se rendre compte qu'il a oublié un espace ! Il y a quand même des limites à l'assistanat de l'utilisateur je trouve !

    Imagine qu'il y ait un De Boucke et un Debouque. L'utilisateur tape Deb et s'arrête sur le premier nom, De Boucke, en se disant : "c'est bon c'est celui-là, je valide." Manque de bol, c'était bien à Debouque qu'il fallait annoncer la bonne ou la mauvaise nouvelle !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Tu peux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT nom
    FROM laTable
    WHERE REPLACE(nom, ' ', '') LIKE 'debo%'
    Cette requête retourne :
    DE BODT
    DE BOCK
    de BOUCK
    DEBOUTE

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  2. [XPATH] supprimer les espaces dans une chaîne
    Par joeyd dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 17/10/2007, 15h56
  3. Supprimer les espaces dans une chaine de caractères
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 23/07/2007, 22h24
  4. Réponses: 1
    Dernier message: 12/12/2006, 18h31
  5. supprimer les espaces dans une chaîne de caratères.
    Par Empty_body dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2006, 18h43

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