Veja neste artigo da DevMedia como a cláusula COLLATE pode simplificar tarefas de tratamento de texto no SQL Server. Considerando a execução de consultas a partir de um banco de dados criado com o SQL Server, costuma ser bastante comum que em determinadas situações campos do tipo texto precisem passar por um tratamento, de forma a eliminar do resultado obtido caracteres especiais como acentos, cedilha e outros símbolos oriundos de línguas estrangeiras.
Veja a matéria completa clicando aqui…
Função
CREATE FUNCTION [dbo].[FN_FORMATAR_TEXTO] ( @TEXTO VARCHAR(MAX) ) RETURNS VARCHAR(MAX) AS BEGIN DECLARE @TEXTO_FORMATADO VARCHAR(MAX) -- O trecho abaixo possibilita que caracteres como "º" ou "ª" -- sejam convertidos para "o" ou "a", respectivamente SET @TEXTO_FORMATADO = UPPER(@TEXTO) COLLATE sql_latin1_general_cp1250_ci_as -- O trecho abaixo remove acentos e outros caracteres especiais, -- substituindo os mesmos por letras normais SET @TEXTO_FORMATADO = @TEXTO_FORMATADO COLLATE sql_latin1_general_cp1251_ci_as RETURN @TEXTO_FORMATADO END GO |
Teste
SELECT dbo.FN_FORMATAR_TEXTO(‘São Paulo’) AS RazaoSocial
, dbo.FN_FORMATAR_TEXTO(‘9º Corrida de São Silvestre’) AS Endereco
, dbo.FN_FORMATAR_TEXTO(‘Soluções em Banco de Dados’) AS Cidade
Fonte da informações e direitos: DevMedia