Optimização feita pelo meu BOSS (Afonso Netsigma) --- ;-) Fixola
-- Retorna data como string
RETURNS nvarchar(25)ASBEGIN DECLARE @Datafmt nvarchar(25)
-- Verifica se a data é válida
IF @data Is Null SET @Datafmt = '' -- dia-mes-ano
ELSE IF @formato = 2
BEGIN set @Datafmt=convert(nvarchar(10),@data,105)
END -- somente dia
ELSE IF @formato = 3
BEGIN set @Datafmt=convert(nvarchar(2),@data,105)
END -- somente mês
ELSE IF @formato = 4
BEGIN set @Datafmt=convert(nvarchar(2),@data,101)
END -- somente Ano
ELSE IF @formato = 5 BEGIN set @Datafmt=convert(nvarchar(4),@data,112) END
-- mes/dia/ano
ELSE IF @formato = 6 BEGIN set @Datafmt=convert(nvarchar(10),@data,101) END -- mes-dia-ano ELSE IF @formato = 7 BEGIN set @Datafmt=convert(nvarchar(10),@data,110) END -- Formato Longo ELSE IF @formato = 8 BEGIN SET @Datafmt =Convert(varchar(2), @data,105) SET @Datafmt = @Datafmt + ' de ' -- concatena o mês SET @Datafmt = @Datafmt + CASE Month(@data) WHEN 1 THEN 'Janeiro' WHEN 2 THEN 'Fevereiro' WHEN 3 THEN 'Março' WHEN 4 THEN 'Abril' WHEN 5 THEN 'Maio' WHEN 6 THEN 'Junho' WHEN 7 THEN 'Julho' WHEN 8 THEN 'Agosto' WHEN 9 THEN 'Setembro' WHEN 10 THEN 'Outubro' WHEN 11 THEN 'Novembro' ELSE 'Dezembro' END SET @Datafmt = @Datafmt + ' de ' -- concatena o ano SET @Datafmt = @Datafmt + convert(nvarchar(4), @data, 112) END -- Formato Curto ELSE IF @formato = 9 BEGIN set @Datafmt=convert(nvarchar(11),@data,106) END -- mês/ano ELSE IF @formato = 10 BEGIN set @Datafmt=convert(nvarchar(11),@data,106) set @Datafmt=substring(@Datafmt,4,3)+'/'+substring(@Datafmt,8,4) END -- mm/yyyy ELSE IF @formato = 11 BEGIN set @Datafmt=convert(nvarchar(10),@data,103) set @Datafmt=substring(@Datafmt,4,7) END -- dd/mm/yyyy hh:mm (24h) ELSE IF @formato = 12 BEGIN set @Datafmt=convert(nvarchar(10),@data,103) + ' ' + convert(nvarchar(5),@data,108) END
-- dd/mm/yyyy (Default) = 1
ELSE
BEGIN set @Datafmt=convert(nvarchar(10),@data,103)
END
RETURN(@Datafmt)END
Conversores de Código
quinta-feira, 19 de julho de 2007
Subscrever:
Enviar feedback (Atom)
Sem comentários:
Enviar um comentário