Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2011, 11h27   #1
Membre du Club
 
Inscription : janvier 2008
Messages : 121
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 121
Points : 46
Points : 46
Par défaut Suppression de certains caractères avec regexp_replace

Bonjour,


Je voudrais supprimer certains caractères d'une chaine. Il semble que la fonction regexp_replace soit faite pour ça mais je n'ai pas le résultat que je veux.

Code :
SELECT regexp_replace('0761345-15230-3', '-', '')
me renvoie 076134515230-3

Le but final est d'avoir en sortie une chaine de caractère uniquement alphanumériques 0-9, a-z et A-Z

Comment faire ?

Merci d'avance.
genamiga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 11h33   #2
Membre Expert
 
Avatar de lola06
 
Femme Laure
Consultante en Business Intelligence
Inscription : avril 2007
Messages : 983
Détails du profil
Informations personnelles :
Nom : Femme Laure
Âge : 25
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Consultante en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : avril 2007
Messages : 983
Points : 1 693
Points : 1 693
Bonjour,

L'option g devrait te permettre de régler ce problème.

Code :
SELECT regexp_replace('0761345-15230-3', '-', '','g')
Sans cette option la fonction ne remplace que la première occurrence rencontrée.
__________________
~ Lola ~

Ne pas oublier :
et aussi :
lola06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 11h42   #3
Membre du Club
 
Inscription : janvier 2008
Messages : 121
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 121
Points : 46
Points : 46
Merci.

Et pour différent caractères en une seule fois ?

'076 1345-152#30-3' en entrée
'0761345152303' en sortie
genamiga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 11h44   #4
Membre Expert
 
Avatar de lola06
 
Femme Laure
Consultante en Business Intelligence
Inscription : avril 2007
Messages : 983
Détails du profil
Informations personnelles :
Nom : Femme Laure
Âge : 25
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Consultante en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : avril 2007
Messages : 983
Points : 1 693
Points : 1 693
En théorie tu peux mettre plusieurs caractères dans ton expression régulière :

Code :
SELECT regexp_replace('0761345-15230-3','[-#]','','g')
__________________
~ Lola ~

Ne pas oublier :
et aussi :
lola06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 11h47   #5
Membre Expert
 
Avatar de lola06
 
Femme Laure
Consultante en Business Intelligence
Inscription : avril 2007
Messages : 983
Détails du profil
Informations personnelles :
Nom : Femme Laure
Âge : 25
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Consultante en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : avril 2007
Messages : 983
Points : 1 693
Points : 1 693
Voici un site assez sympa pour tester tes expressions régulières.
Perso je l'utilise à chaque fois pour être sûre que mes regexp sont bien écrites.
__________________
~ Lola ~

Ne pas oublier :
et aussi :
lola06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 11h48   #6
Membre du Club
 
Inscription : janvier 2008
Messages : 121
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 121
Points : 46
Points : 46
Magnifique.

Très grand merci.
genamiga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 15h12   #7
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 440
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 440
Points : 4 183
Points : 4 183
tu peux aussi utiliser un double translate
http://www.developpez.net/forums/d64...e/#post3813830
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h45.


 
 
 
 
Partenaires

Hébergement Web