Je cherche partout pour cela et je ne pense pas que le remplacement imbriqué est la réponse. J'ai une liste d'adresse email que j'ai besoin de garder unique, mais j'ai besoin de les faire tout faux pour les tests. Donc, mon idée était de simplement remplacer le ".com", ".net", ".org" et ainsi de suite à '.mydomain.com'. Mais il y a beaucoup d'extrémités au total.
J'ai réalisé que je pouvais simplement supprimer le @ et ajouter '@ mydomain.com' à la fin, mais maintenant, je veux aussi comprendre comment résoudre ce problème particulier. P>
au lieu de faire: p> pour chaque cas ".com", ".net", ".org" ...... / P> Y a-t-il un moyen de dire, remplacez tous ces éléments ('.com', '.net', '.org') avec '.MyDomain.com' dans une déclaration? P> quelque chose comme ça. p>
4 Réponses :
Après le Kiss Principe, il suffit d'exécuter 3 requêtes distinctes.
update Customer set email = replace(email, '.com', '.mydomain.com') where email not like '%.mydomain.com%'; update Customer set email = replace(email, '.net', '.mydomain.com') where email not like '%.mydomain.com%'; update Customer set email = replace(email, '.org', '.mydomain.com') where email not like '%.mydomain.com%';
J'espérais qu'il y avait une fonction simple que je n'étais pas au courant, mais comme il n'y a pas que je suis d'accord avec cela. Et en utilisant Excel, il est facile de créer un script de mise à jour pour la portée des 100 dernières fins. Merci!
Np. Voir accepter les réponses
Je pense que quelque chose comme ça devrait fonctionner. peut charindex code> peut être remplacé par n'importe quelle fonction qui vérifie si une chaîne contient une sous-chaîne. P> P>
Une autre solution consiste à avoir des instructions de remplacement imbriquées:
update Customer set email = replace(replace(email, '.com', '.mydomain.com'), '.net', '.mydomain.com')
Devis de l'OP: "... Je ne pense pas que Remplacer est la réponse."
Vous pouvez utiliser une mise à jour dB <> violon p> Il ne résoudra pas le problème que cela, si une sous-chaîne correspondant à un TLD est dans la chaîne ailleurs comme à la fin, Cette sous-chaîne est également remplacée. Mais ce n'est probablement pas un problème ici. P> p> à partir de code> pour rejoindre une table dérivée des TLD que vous souhaitez remplacer. (Vous pouvez également rejoindre une table "réelle" avec le TLDS si vous en avez un.)