当前位置:数据库 > SQLServer >>

sql获取月份中的天数代码

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)

补充:数据库,Mssql 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,