IF OBJECT_ID('F_FORMATAR_TEXTO') IS NOT NULL 
	DROP FUNCTION F_FORMATAR_TEXTO 
GO 
/*
=======================================================================================
'Nível Classificação.: INFORMAÇÃO RESTRITA
'Versão..............: 21081601
'Job.................:  
'Nome................: F_FORMATAR_TEXTO 
'Objetivo............: Função responsavel por substituir caracteres especiais  
'Tabelas.............: 
'Dt Criação..........: 16/09/2021
'Dt Ult Alteracão....: 
'Alterado por........: 
'Criado por..........: Marcos barros
'=======================================================================================

*/

CREATE FUNCTION F_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



/*
=========================================================================
-- EXEMPLOS DE  USO
=========================================================================

-- UPDATE 
UPDATE <TABELA>  
SET
  <CAMPO_TABELA> = dbo.FN_FORMATAR_TEXTO(B.<CAMPO_TABELA>)
FROM
  <TABELA> 
INNER JOIN <TABELA> B
  ON <TABELA>.<CAMPO_TABELA> = B.<CAMPO_TABELA>
WHERE
  <TABELA>.<CAMPO_TABELA> = <CONDIÇÃO EX: ID = 1>


-- SELECT 
SELECT 
	dbo.FN_FORMATAR_TEXTO(<CAMPO_TABELA>) AS CAMPO_TABELA 
FROM 
	<TABELA>
WHERE 
	<CONDIÇÃO QUANDO EXISTIR>
*/