经常在sqlserver中查询日期,下面这几条语句,你一定用得上,如果只取日期部分,参看第一个例子
当月第一天
select dateadd(month, datediff(month, 0, getdate()), 0)
运行结果:2022-11-01 00:00:00.000
只取日期部分:select CONVERT(nvarchar(10), dateadd(month, datediff(month, 0, getdate()), 0),120)
运行结果:2022-11-01
当月最后一天(思路:下月的第一天减去一天)
select dateadd(month, datediff(month, 0, dateadd(month, 1, getdate())), -1)
运行结果:2022-11-30 00:00:00.000
当年第一天
select dateadd(year, datediff(year, 0, getdate()), 0)
运行结果:2022-01-01 00:00:00.000
当年最后一天(思路:下年的第一天减去一天)
select dateadd(year, datediff(year, 0, dateadd(year, 1, getdate())), -1)
运行结果:2022-12-31 00:00:00.000
当天零时
select dateadd(day, datediff(day, 0, getdate()), 0)
运行结果:2022-11-26 00:00:00.000