Image

Funciones Útiles - Reemplazar las tildes a un formato HTML en SQL

SQLServer

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.

0 Commentario(s)

Deja un comentario