龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Sql Server开发 >

sql获取月份中的天数代码

时间:2013-01-03 18:08来源:未知 作者:admin 点击:
分享到:
sql获取月份中的天数代码,下面介绍了几种方法主要是讲了关于天数据获取与2月份特殊月份的处理哦。 CREATE FUNCTION [dbo].[udf_DaysInMonth] ( @Date DATETIME ) RETURNS INT AS BEGIN RETURN CASE WHEN MONTH(@D

sql获取月份中的天数代码,下面介绍了几种方法主要是讲了关于天数据获取与2月份特殊月份的处理哦。

CREATE FUNCTION [dbo].[udf_DaysInMonth]
(
@Date DATETIME
)
RETURNS INT
AS
BEGIN
RETURN CASE WHEN MONTH(@Date) IN (1,3,5,7,8,10,12) THEN 31
WHEN MONTH(@Date) IN (4,6,9,11) THEN 30
ELSE [dbo].[DaysOfFebruary](YEAR(@Date))
END
END

SQL SERVER 2005获取当前月的天数
Sql代码 

1.SELECT 32-DAY(getdate()+32-DAY(getdate()))  
SELECT 32-DAY(getdate()+32-DAY(getdate()))

关于2月份的特殊性处理

用户需要传入年份,获取该年份2月份的天数。可以写成一个用户自定义函数

CREATE FUNCTION [dbo].[DaysOfFebruary]
    (
        @Year INT
    )
    RETURNS INT
    AS
    BEGIN
        RETURN CASE WHEN (@Year % 4 = 0 AND @Year % 100 <> 0) OR (@Year % 400  = 0) THEN 29 ELSE 28 END
    END

实例

SELECT [dbo].[DaysOfFebruary](2011)


精彩图集

赞助商链接