[sql] espace

bonjour à tous
je voudrais savoir comment gère ton les espace en sql ( a part le mot like ) voici mon problème j'ai une requête paramétré qui a pour paramètre nom d'entreprise mais cependant les noms d'entreprise sont souvent espacé exemple S N C F
et je voudrais savoir comment géré le fait que certain marque SNCF et d'autre S N C F
merci d'avance du coup de main
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. Salut
    Tu code en quel langage ?
    1. ba en fait c une application windev parce que les gens saisissent un nom d'entreprise et ce nom sera mis en paramètre j'ai essayé de trouvé la solution avec windev mais j'ai pas trouver alors j'essaye de la trouver en sql
  2. salut

    SELECT *
    FROM table
    WHERE champ Like "chaine1 chaine2"

    Ou

    SELECT *
    FROM table
    WHERE champ="chaine1 chaine2"

    ca marche a merveille, j'ai tester a Access puisque j'ai pas du SqlServer, mais ca reste le meme langage.

    N.B : verifier que la chaine a verifier existe dans ta table

    Bonne chance.
    1. je comprend pas ta solution
    2. @nicolasje t'ai mis une requete, et tu doit remplacer table par le nom de table et champ par le nom de ton champ et chaine1 ... par la chaine a rechercher , c tout.
    3. @nicolasoui mais pourquoi chaine1 chaine2 je comprend pas ca va pas réglé mon problème
    4. @nicolasnon, je vais t'expliquer :

      SELECT *
      FROM table
      WHERE champ Like "S N C F"

      Ou

      SELECT *
      FROM table
      WHERE nom_champ="S N C F"

      je crois que c'est clair .
    5. @hamzaoui mais ma requête aura un nom de paramètre param_raisonsociale et pas un nom d'entreprise
      ca fera
      select *
      from client
      where nomclient = param_raisonsociale
  3. Bonjour,

    Je me creuse la tête depuis hier sur ton problème, mais sincèrement, je ne suis pas sûr qu'il y ait une solution correcte...

    Tu peux tenter d'utiliser REPLACE() pour supprimer tous les espaces, mais une société comme "La Redoute" deviendrait "LaRedoute"... Donc ce n'est pas mieux...

    Je ne crois pas qu'il y ait mieux...
    Pour résoudre ton problème, la meilleure possibilité reste, à mon avis, de ne pas laisser les utilisateurs rentrer manuellement la société, mais de leur proposer des sociétés déjà existantes... Et si la leur n'y est vraiment pas, alors oui, ils pourront la créer...

    Xavier
    1. ok ba merci beaucoup pour votre aide je vais voir ce que je peux faire
  4. ba moi ce que je voudrais c'est que les gens qu'ils tape sncf ou
    s n c f arrive aux même résultat et je vais pas m'amuser avoir comment son écris les nom d'entreprise y en a plus de 20 000 dans la base

    select *
    from client
    where nomclient = param_raisonsociale
    or nomclient =(param_raisonsociale,' ', '')
    1. select *
      from client
      where nomclient = param_raisonsociale
      or nomclient =replace(param_raisonsociale,' ', '')