Función sqlserver - fecha en diferentes formatos y tiempo

Solo disponible en BuenasTareas
  • Páginas : 2 (331 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de febrero de 2012
Leer documento completo
Vista previa del texto
Función SQLServer, útil para devolvernos una fecha en diferentes formatos y tiempo. Se puede utilizar para cálculos y diferencias entre fechas a partir de una dada. Como puede verse, tiene unalcance de acuerdo a lo que fui necesitando, pero puede incrementarse muchísimo y porque no, mejorarla... Espero les sirva y me escriban sus comentarios! MartinSC.

Importante: Las funciones o porcionesde código publicadas en nuestro sitio son y serán siempre de autoria de desarrolladores de JMSoluciones Informáticas, caso contrario, la fuente siempre será mencionada.

create function[dbo].[fnFechaTipo] (

@p_Fecha datetime,
@p_Formato varchar(20)

)
returns varchar(50)
as

/*
JMSOL.com.ar
Autor: Martin San Cristobal
Email: mscmartin@hotmail.comComentario: #

select dbo.fnFechaTipo(GetDate(), 'yyyymmdd')
*/

begin

Declare @FechaAux datetime
Declare @FechaStr varchar(50)
Declare @DiaNom char(3)
Declare @Diachar(2)
Declare @MesNom char(3)
Declare @Mes char(2)
Declare @Hora char(8)
Declare @Ano char(4)
Declare @Diferencia char(6)


Set @DiaNom = left(datename(dw, @p_Fecha),3)Set @Dia = right(day(@p_Fecha)+100,2)
Set @MesNom = left(datename(mm, @p_Fecha),3)
Set @Mes = right(month(@p_Fecha)+1000,2)
Set @Hora = Convert(char(8), @p_Fecha, 108)
Set @Ano= year(@p_Fecha)
Set @Diferencia = '-0300'
Set @FechaStr = @Dia + '/' + @Mes + '/' + @Ano


if (@p_Formato = 'yyyymmdd')
Set @FechaStr = @Ano + @Mes + @Diaif (@p_Formato = 'dd/mmm/yy')
Set @FechaStr = @Dia + '/' + dbo.fnMesNombre(@p_Fecha) + '/' + @Ano


if (@p_Formato = 'PrincipioMes')
Set @FechaStr = @Ano + @Mes + '01'if (@p_Formato = 'Calendario')
Set @FechaStr = @Mes + '/' + @Dia + '/' + @Ano + ' ' + @Hora


if (@p_Formato = 'Internacional')
Set @FechaStr = @DiaNom + ', '...
tracking img