[SQL SERVER] fonction replace

dev37 -  
 weezy -
Bonjour,

Je souhaite remplacer les accents des adresse emails dans une base de donnée en une seule fois.
La fonction replace marche bien mais il faut le faire caractère par caractère
update table set email = replace(email,'é','e')
idem pour les autres caractères

Est il possible de faire cela en un seul ordre sql du genre
update table set email = replace(email,'é:è:ê','e')

merci
A voir également:

4 réponses

ludo6577 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   13
 
Y'a bien une méthode en les imbricants

SELECT REPLACE(REPLACE(email, "é", "e"), "è", "e")
13
Aaron5
 
Merci ludo c'est exactement ce qu'il me fallait. Je ne savais pas que je pouvais les imbriquer!
0
ludo6577 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   13
 
De rien moi non plus je ne savais pas mais sa paraissait possible vu que le premier paramètre est un champ et que la fonction renvoi une valeur
0
dev37
 
Merci pour cette réponse mais je dois faire ce replace en SQL
0
xof
 
La requête est la suivante :

Update matable Set monchamp=replace(monchamp,'yyy','xxx')

la chaîne yyy contenue dans monchamp sera remplacé par xxx
0
weezy
 
pas mal !
0
dudu134 Messages postés 2868 Date d'inscription   Statut Membre Dernière intervention   608
 
Bonjour,

essaye avec ceci :
// code pour enlever les accents et les majuscules pour adresse mail
$nom1 = $nom;
$prenom1 =$prenom;
$chaine = $prenom1.'.'.$nom1; function ote_accent($str){$ch = strtr($str,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿAZERTYUIOPQSDFGHJKLMWXCVBN','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyyazertyuiopqsdfghjklmwxcvbn');return $ch;}
echo "<input type=hidden name=chaine value=";echo ote_accent($chaine); echo">";
//fin code pour enlever les accents et les majuscules pour adresse mail
-4