2011-01-08 84 views
0

我有以下查询是通过传递月份名称和年份给出月份的最后一天,但不知道如何以类似的方式获得第一天。月份问题的最后一天

declare @month int, @year int 
select @month=1,@year=2011 

select Convert(varchar(20),dateadd(year,@year-1900,dateadd(month,@month,0)-1), 105) 

回答

0

我没有与SQL Server的经验,而是根据你的代码,我想答案会是这样的:

declare @month int, @year int 
select @month=1,@year=2011 

select Convert(varchar(20),dateadd(year,@year-1900,dateadd(month,@month-1,0)), 105) 
+0

感谢工作像一个魅力:) – user342944 2011-01-08 22:00:09

0

在日期时间域保持它,发现第1天之后一个月,然后减去1天

SELECT 
    dateadd(day, -1, dateadd(year, @year-1900, dateadd(month, @month, 0))) 

与CAST或varchar几乎所有事情都是不确定的,而不是语言/ @ DATEFORMAT安全

相关问题