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

PostgreSQL Discussion :

Supprimer tous les espaces


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 204
    Points : 98
    Points
    98
    Par défaut Supprimer tous les espaces
    Bonjour,
    Dans une base POSTGRESQL 7.4, je dois faire une requête , sur le numéro de SIRET.
    La plupart le saisissent comme: "xxx xxx xxx xxxxx", mais des fois il est saisi comme "xxxxxxxxxxxxxx".
    Comment faut-il faire pour éliminer tous les espaces? surtout ceux à l'intérieur.
    j'ai essayé "SELECT nom, prenom FROM matable WHERE TRIM(siret) = "xxxxxxxxxxxxx" ;
    mais ça marche pas !
    POSTGRESQL ne propose pas la fonction REPLACE(), par laquelle j'aurai pu m'en tirer.
    Comment faire dans une requête pour découper un champ caractère par caractère sauf si c'est un "ESPACE"?

    Merci à toute solution.

    PS j'ai tout bien parcouru la FAQ et les tutoriels, mais que dalle !

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    La fonction TRIM marche, il faut juste que tu mettes des simples quotes au lieu des guillemets quand tu compares des chaînes de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom, prenom FROM matable WHERE TRIM(siret) = 'xxxxxxxxxxxxx'
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 204
    Points : 98
    Points
    98
    Par défaut
    Je te confirme que la fonction TRIM ne supprime pas les espaces intérieurs, mais uniquement ceux à gauche et ceux à droite, du moins sur la version 7.4.

    si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom, prenom FROM matable WHERE TRIM(n_siret) = '12345678900010';
    et ou n_siret = '123 456 789 00010', ça ne marche pas.

    Je ne sais vraiment pas comment m'en tirer

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 476
    Points : 831
    Points
    831
    Par défaut
    bonjour es tu sur que la fonction replace ne marche pas car elle est dans la doc:
    http://www.postgresql.org/docs/7.4/s...ns-string.html

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 204
    Points : 98
    Points
    98
    Par défaut
    Un grand merci, car effectivement REPLACE existe bel et bien dans la version 7.4 et fonctionne parfaitement.

    Il faudra que je change de lunettes.....


    Encore Merci

  6. #6
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Autant pour moi je n'avais pas vu que tu voulais aussi supprimer les espaces à l'intérieur des champs
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2013, 15h19
  2. Réponses: 7
    Dernier message: 08/01/2013, 18h33
  3. Réponses: 3
    Dernier message: 17/03/2010, 14h50
  4. Supprimer tous les espaces vides à la fin des champs.
    Par godjojo dans le forum Requêtes
    Réponses: 8
    Dernier message: 15/12/2007, 21h04
  5. Supprimer TOUS les espaces d'une chaine
    Par tavekapaclike1er dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 24/12/2005, 15h19

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