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:
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(GETDATE())-1),GETDATE()),105) As PrimerDiaMes
Declare @Fecha datetime = GETDATE()
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@Fecha)-1),@Fecha),105) As PrimerDiaMes
Create Function [dbo].[ObtenerPrimerDiaMes](@Fecha Datetime)
Returns Datetime
As
Begin
Return (SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@Fecha)-1),@Fecha),105))
End
Select [dbo].[ObtenerPrimerDiaMes] (GETDATE()) As PrimerDiaMes
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
Publicado por: Willy Taveras
Comentarios
Publicar un comentario