Abaixo está o script que permite a criação da função initUpper(). /****************************************************************** Exemplo: Autor: Wendel Meireles (wendelmei@uol.com.br) Alterações: SET
Objectivo: Padronização de nomes proprios
Resultado: Seta a primeira letra da string para upperCase
select dbo.initUpper(nome_campo_string) from tabela
Atenção – A utilização deste script é de sua inteira responsabilidade, antes de
aplica-lo em ambiente de produção faça os testes necessarios.
******************************************************************/
SET QUOTED_IDENTIFIER ON
GO
— Cria a função
Create function [dbo].[initUpper] (@v varchar(1000))returns varchar(8000)
as
begin
declare @a varchar(1) — Vai guardar o ultimo caracter tratato.
declare @d varchar(1000) — Guarda nova string para saida
— Preparando variaveis para a concatenação.
set @a = ‘ ‘
set @d = ”
— Inicio do loop
begin — The magic begin.
if @a in (‘ ‘,‘&’,‘/’,”,‘.’,‘(‘) –Se o caractere anterior for algum destes entre os parenteses
set @d = @d + upper(left(@v,1)) –Seto o proximo para maiusculo
else — Se não
set @d = @d + lower(left(@v,1)) –Seto para minusculo
set @a = (left(@v,1)) — Guardo ultima string tratada set @v = right(@v,len(@v)-1) — Remove string ja tratada da string de entrada
end
return @d
end
— fim da fuçãoExemplo de utilização
:SELECT
dbo.initUpper (‘note que cada palavra esta com a inicial maiúscula’)Espero que seja util.
Wendel Meireles

