Anuncios

viernes, 6 de enero de 2012

Obtener el primer día del mes

En este artículo veremos como, mediante un script de SQL Server, obtener el primer día de un mes.
Ejemplos:



1. Seleccionando directamente a través de un Script simple


SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(GETDATE())-1),GETDATE()),105) As PrimerDiaMes

2. Utilizando una variable para pasar el valor de la fecha


Declare @Fecha datetime = GETDATE()
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@Fecha)-1),@Fecha),105) As PrimerDiaMes

Nota: Esta es la misma forma que la primera, excepto que en lugar de pasar el valor directo, estamos utilizando una variable.


3. Utilizando una función escalar que retorne el valor del primer día del mes


Create Function [dbo].[ObtenerPrimerDiaMes](@Fecha Datetime)
Returns Datetime

As

Begin
  Return  (SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@Fecha)-1),@Fecha),105))
  End


Para invocar:


Select [dbo].[ObtenerPrimerDiaMes] (GETDATE()) As PrimerDiaMes


Nota: En este ejemplo creamos una función escalar que retorne un valor simple, la fecha del primer día del mes indicado, recibe por parámetro la fecha que se desea (cualquier mes) y luego retorna el valor deseado. Para invocar hacemos una simple selección pasando por parámetro de la fecha, en nuestro ejemplo pasamos el valor de la fecha actual del sistema.

 Publicado por: Willy Taveras

People who read this post also read :