Rechercher : dans
Par :

[SQL SERVER] fonction replace

Dernière réponse le 26 fév 2008 à 11:02:05 dev37, le 7 fév 2008 à 11:49:26 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 6.0

1

dudu134, le 7 fév 2008 à 11:57:14

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','AAAAAACEEEEIIIIOOOOOUUUUYaa­aaaaceeeeiiiioooooouuuuyyazertyuiopqsdfghjklmwxcvbn');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 En espérant que je vous ai aidé

Répondre à dudu134

2

dev37, le 7 fév 2008 à 12:03:43

Merci pour cette réponse mais je dois faire ce replace en SQL

Répondre à dev37

3

 xof, le 26 fév 2008 à 11:02:05

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

Répondre à xof
Collection CommentÇaMarche.net