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 :

enlever des espaces dans un texte


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut enlever des espaces dans un texte
    Bonjour,

    Je suis dans l'environnement oracle mais j'ai un probleme avec un sql. Je voudrais enlever tout les espace blanc d'un champs texte pour le remplacer par un seul espace.

    ex :

    'MONSIEUR - LE MINISTRE'

    devient

    'MONSIEUR - LE MINISTRE'

    avez-vous une idée pour que ca puisse se faire en un seul select ?

    merci

  2. #2
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    les 2 exemples sont identiques.
    un bout de réponse : REPLACE

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut
    Il fallait lire :

    'MONSIEUR -_______LE_____________MINISTRE'

    qui devient

    'MONSIEUR - LE MINISTRE'

    les "_" sont des espaces... sinon le site enleve les espaces automatiquement...

    et j'ai essayé replace(''MONSIEUR -______LE_____________MINISTRE'',' ',' ');

    ca ne fonctionne pas...

    merci

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Nan, REPLACE est une plus ou moins une "bijection" qui permet de faire remplacer un élément par un autre (c'est-à-dire le 2 argument par le 3ème).

    Quelle est votre version d'Oracle ?
    Si c'est la 10g, regardez du côté des expressions régulières.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  5. #5
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut
    merci mais en 9i... je suis cuit? il y a rien que je puisse faire? J'ai du 10G et du 9i ici...

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Je ne me rappelle plus si les expressions régulières sont supportées en 9i (en 8i c'est certain que non et en 10g c'est bon).
    Essayez cette instruction en 9i :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select regexp_replace('abbc', 'b*', 'd')
    from dual
    Si elle retourne un message d'erreur c'est que la 9i ne les supporte pas sinon elle vous retournera "daddcd"
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  7. #7
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut
    pour votre info... il me donne une erreur donc ca ne semble pas supporté en 9i

    mais merci ca marche bien en 10G

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

Discussions similaires

  1. [CR 2008] remplacer les 'crlf' par des espaces dans un texte de "type" RTF
    Par digitfree dans le forum Formules
    Réponses: 5
    Dernier message: 02/04/2013, 11h18
  2. [SQLSERVER 2K]Enlevé des espaces dans une chaine
    Par MeHo_ dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/07/2008, 15h51
  3. Réponses: 1
    Dernier message: 24/01/2008, 11h33
  4. Empecher d'ecrire des espaces dans une zone de texte ?
    Par insane_80 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/03/2007, 18h32

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