获取某年某月的第一天和最后一天的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,  - 1 DateAdd (m,  1 , dbo.fnGetFirstDayOfMonth( @Year @Month )))

    
RETURN   @LastDay

END
GO 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值