28 de outubro de 2008

capitalizar Frases em cada palavra em SQL Server

Aqui partilho uma simples função que criei e que vai CAPITALIZAR as frases em cada Palavra, ou seja vai colocar uma MAIÚSCULA em cada palavra na primeira letra. não estou a contemplar os "DE", "DAS" Etc..

Nesta função estou a retornar varchar(5000) altera como quiseres.

USE [Menos3ERP]
GO

/****** Object: UserDefinedFunction [dbo].[ProperCase] Script Date: 10/15/2008 23:38:01 ******/

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[ProperCase](@Text as varchar(5000))

returns varchar(5000)
as
begin
declare @Reset bit;
declare @Ret varchar(5000);
declare @i int;
declare @c char(1);

select @Reset = 1, @i=1, @Ret = ”;

while (@i <= len(@Text))
select @c= substring(@Text,@i,1),
@Ret = @Ret + case when @Reset=1 then UPPER(@c) else LOWER(@c) end,
@Reset = case when @c like[a-zA-Z]then 0 else 1 end,
@i = @i +1
return @Ret
end

1 comentário:

  1. João,
    MUITO útil sua função, obrigado e Parabéns!


    Eduardo Guilarducci
    - MCP

    ResponderEliminar

Like