一个月的总天数

时间:2017-08-10 07:59:19

标签: sql-server-2008

我需要编写一个返回 No的查询。一个月的一天。 请理解我无法使用DATE,任何有DATE的查询都无效。

我创建了一个带有int值的参数。就像1月是1,2月是2等。

从值1或2,我想得到的天数,如1的天数应为31天,2应为28或29.

我正在使用Ms sql-server-2008。

需要帮助。

问候,

1 个答案:

答案 0 :(得分:1)

因此,您始终可以使用日期部分构建日期。您可能需要验证输入并根据需要转换此逻辑。

DECLARE @year SMALLINT = 2017;
DECLARE @month TINYINT = 2;

DECLARE @dateFrom DATE = CONVERT(DATE, 
      CONVERT(CHAR(4), @year) + '-'
    + RIGHT('00' + CONVERT(VARCHAR(2), @month), 2)
    + '-01'
);

DECLARE @dateTo DATE = DATEADD(MONTH, 1, @dateFrom);

SELECT DATEDIFF(DAY, @dateFrom, @dateTo);

- 或 -

如果您真的不想使用任何计算,只需查询,请将这些值存储在表中,并使用输入值查询该表。