Я хочу получить количество дней в месяце, который указывает пользователь. Я использую это, он работает в течение большинства месяцев, кроме февраля и високосного года. Это показывает 28 дней, а не 29. Можете ли вы решить это?Как получить количество дней с месяца и года
begin
declare @year int
declare @month int
select @year = 2012
select @month = DATEPART(mm,CAST('August'+ ' 2012' AS DATETIME))
select datediff(day,
dateadd(day, 0, dateadd(month, ((@year - 2012) * 12) + @month - 1, 0)),
dateadd(day, 0, dateadd(month, ((@year - 2012) * 12) + @month, 0))) as number_of_days
end
Или Если нет, вы можете сказать мне другой подход, чтобы сделать это. Он должен использовать @year
и @month
, а код для поиска дней может быть любым!
Есть много решений в [ответов здесь] (http://stackoverflow.com/questions/691022/how -to-define-the-number-of-days-in-a-month-in-sql-server) – kwwallpe
Да, я видел этот пост, но в этом посте. Все использовали getdate(), или они вводят дату. Я хочу ввести год и месяц отдельно! –