我有以下查询,它通过传递月份名称和年份来给出月份的最后一天,但不知道如何以类似的方式获得第一天。
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 :(得分: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)
答案 1 :(得分:0)
将其保留在日期时间域中,查找下个月的第一天,然后减去一天
SELECT
dateadd(day, -1, dateadd(year, @year-1900, dateadd(month, @month, 0)))
几乎所有CAST或varchar都是非确定性的,不是语言/ @ DATEFORMAT安全