获取某年某月的第一天和最后一天的Sql Server函数

留个底:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
--
 Author:        RickyLin
--
 Create date: 2007-11-27
--
 Description:    获取某年某月的第一天的日期
--
 =============================================
ALTER FUNCTION fnGetFirstDayOfMonth 
(
    
@Year SMALLINT
    , 
@Month    TINYINT
)
RETURNS SMALLDATETIME
AS
BEGIN
    
DECLARE @FirstDay SMALLDATETIME
    
DECLARE @Str    VARCHAR(10)
    
SET @Str = Cast(@Year AS VARCHAR(4)) + '-' + Cast(@Month AS VARCHAR(2)) + '-1'

    
SET @FirstDay = Convert(SMALLDATETIME@Str)

    
RETURN @FirstDay

END
GO

-- =============================================
--
 Author:        RickyLin
--
 Create date: 2007-11-27
--
 Description:    获取某年某月的最后一天的日期
--
 =============================================
CREATE FUNCTION fnGetLastDayOfMonth 
(
    
@Year SMALLINT
    , 
@Month    TINYINT
)
RETURNS SMALLDATETIME
AS
BEGIN
    
DECLARE @LastDay SMALLDATETIME
    
DECLARE @Str    VARCHAR(10)
    
SET @Str = Cast(@Year AS VARCHAR(4)) + '-' + Cast(@Month AS VARCHAR(2)) + '-1'

    
SET @LastDay = DateAdd(d, -1DateAdd(m, 1, dbo.fnGetFirstDayOfMonth(@Year@Month)))

    
RETURN @LastDay

END
GO

posted on 2007-11-27 16:14  零度的火  阅读(1506)  评论(0编辑  收藏  举报

导航