Comparar Resultados en SQL Server

Se que a todos nos ha pasado un caso similar a este que voy a plantear, tenemos un banco de datos lleno de correos electronicos y por una razon el nombre del dominio cambia pero no los correos, por lo cual debemos actualizar nuestra base de datos y ponerle a los correos el nombre del nuevo dominio, un ejemplo de esto fue cuando en republica dominicana Codetel (Compañia Dominicana de Telefonos) vendio su sus acciones a Verizon International, los correos pasaron de ser @codetel.net.do a verizon.net.do, esto para mucho fue un dolor de cabeza, pero aqui les dejare el codigo que ustedes pueden utilizar para no solo resolver ese caso, sino casos similares a este.

En este ejemplo buscare utilizare varias funciones de SQL como lo son SUBSTRING & CHARINDEX, aqui definire las mismas:

SUBSTRING: es una función de subcadena en SQL se utiliza para tomar una parte de los datos almacenados.
CHARINDEX: Devuelve la posición inicial de la expresión especificada en una cadena de caracteres.


Este ejemplo lo ejecutare como siempre en la base de datos de Muestra que trae SQL Server Adventure-Works


Tal y Como vemos en la Imagen con la sintaxis SQL que corrimos seleccionamos todos los correos de la tabla Person.Contact, que pertenecieran al dominio @adventure-works.com, y lo creamos una columna para ver como quedarian si lo reemplazaramos por el dominio @omarfrometa.com.

Luego de verificado que es asi que queremos que queden los datos procedemos a reemplazarlos en nuestro banco de datos, utilizando la sentencia UPDATE, tal y como se muestra en la siguiente imagen.


Aqui les dejo todo el Codigo Que Utilice en este Ejemplo:

UPDATE
      Person.Contact
SET
      EmailAddress = SUBSTRING(EmailAddress, 1, CHARINDEX('@',EmailAddress)) + 'adventure-works.com' 
WHERE
      EmailAddress Like '%omarfrometa.com%'

No Response to "Comparar Resultados en SQL Server"

Publicar un comentario