Hola ABC-eLearners, a modo de ayuda para todos los lectores con ganas de aprender SQL, voy a compartirles mis experiencias, las que considere más útiles para todos. Muchas veces al enviar un Email de Marketing nos hemos visto afectados por que las tildes y caracteres especiales como la Ñ, llegan a su destino con un ?? ya que hay ordenadores y repositorios de correos que no reconocen estos caracteres, es el motivo por el que hice esta función que reemplaza y formatea un email antes de enviarlo y así dar una mejor imagen de nuestra empresa.
CREATE FUNCTION [dbo].[f_ReplaceSpecialCharacters_EmailingBody]
(
@Texto NVARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @TextoReemplazado NVARCHAR(max)
SET @TextoReemplazado = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( --/vocales ÀÈÌÒÙ/
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( --/vocales ÁÉÍÓÚ/
REPLACE(REPLACE(
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( --/vocales àèìòù/
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(-- /vocales áéíóú/
@Texto collate Latin1_General_CS_AS, 'á' collate Latin1_General_CS_AS, 'á' collate Latin1_General_CS_AS), 'é' collate Latin1_General_CS_AS,'é' collate Latin1_General_CS_AS), 'í' collate Latin1_General_CS_AS, 'í' collate Latin1_General_CS_AS), 'ó' collate Latin1_General_CS_AS, 'ó' collate Latin1_General_CS_AS), 'ú' collate Latin1_General_CS_AS,'ú' collate Latin1_General_CS_AS)
,'à' collate Latin1_General_CS_AS,'à' collate Latin1_General_CS_AS),'è' collate Latin1_General_CS_AS,'è' collate Latin1_General_CS_AS),'ì' collate Latin1_General_CS_AS,'ì' collate Latin1_General_CS_AS),'ò' collate Latin1_General_CS_AS,'ò' collate Latin1_General_CS_AS),'ù' collate Latin1_General_CS_AS,'ù' collate Latin1_General_CS_AS)
,'ñ' collate Latin1_General_CS_AS,'ñ' collate Latin1_General_CS_AS),'Ñ' collate Latin1_General_CS_AS,'Ñ' collate Latin1_General_CS_AS)
,'Á' collate Latin1_General_CS_AS,'Á' collate Latin1_General_CS_AS),'É' collate Latin1_General_CS_AS,'É' collate Latin1_General_CS_AS),'Í' collate Latin1_General_CS_AS,'Í' collate Latin1_General_CS_AS),'Ó' collate Latin1_General_CS_AS,'Ó' collate Latin1_General_CS_AS),'Ú' collate Latin1_General_CS_AS,'Ú' collate Latin1_General_CS_AS)
,'À' collate Latin1_General_CS_AS,'À' collate Latin1_General_CS_AS),'È' collate Latin1_General_CS_AS,'È' collate Latin1_General_CS_AS),'Ì' collate Latin1_General_CS_AS,'Ì' collate Latin1_General_CS_AS),'Ò' collate Latin1_General_CS_AS,'Ò' collate Latin1_General_CS_AS),'Ù' collate Latin1_General_CS_AS,'Ù' collate Latin1_General_CS_AS)
RETURN (COALESCE(@TextoReemplazado,''))
END
Ejemplo
SELECT DBO.f_ReeplaceSpecialCharacters_EmailingBody('Regístrate aquí y obtén el mejor descuentos del año')
--Resultado: Regístrate aquí y obtén el mejor descuentos del año
Comenta qué otras funciones más necesitarías para reusar y optimizar tu tiempo mientras programas en Base de datos.
Deja un comentario