InovacaoMediaBrasil/ProcessWorkflowsAndDatabaseScripts

View on GitHub
Src/Sankhya/Funções/FN_REMOVER_ACENTUACAO.sql

Summary

Maintainability
Test Coverage
USE [SANKHYA_PRODUCAO]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        Guilherme Branco Stracini
-- Create date: 2016-01-06
-- Description:    Função que remove acentuação e caracteres proibidos para geração de NF-e
-- =============================================

CREATE FUNCTION [sankhya].[FN_REMOVER_ACENTUACAO] ( @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