1.获取SQLServer的当前日期,使用getdate函数即可
select GETDATE()
2.获取SQLServer的最小日期(1900-01-01 00:00:00.000),使用DATEADD方法来获取
select DATEADD(DAY, 0, 0)
3.获取SQLServer最小日期,距离当前日期相差了多少个月
select DATEDIFF(month, 0, getdate())
4.从SQLServer的最小日期开始,累加截止目前相差的月份数,得到的就是当月第一天零点的日期了
select DATEADD(month, DATEDIFF(month, 0, getdate()), 0)
5.另外还有一种方式,计算得到的是当月第一天的当前时间,注意,这里包含了时间,不再是0点了。
首先使用DAY函数,计算出当前日期是本月的第几天
select DAY(getdate())
6.从当前日期减去上一步计算的本月的天数,理论上得到的就是本月第一天,但是,结果缺不是,而是上个月的最后一天
select DATEADD(d, -DAY(getdate()), getdate())
7.少减一天才能得到当前日期的当月第一天的当前时间,注意,这里最终的结果是包含当前时间的,而不是当月第一天的0点
select DATEADD(d, -DAY(getdate()) + 1, getdate())
8.获取本月最后一天
select DATEADD(mi,-1,DATEADD(month, DATEDIFF(month, 0, getdate())+1, 0))