[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
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. 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
    1. Aaron5
       
      Merci ludo c'est exactement ce qu'il me fallait. Je ne savais pas que je pouvais les imbriquer!
      0
    2. 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
  2. dev37
     
    Merci pour cette réponse mais je dois faire ce replace en SQL
    0
    1. 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
  3. dudu134 Messages postés 2877 Statut Membre 632
     
    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