SQL Server时间获取

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))

 


版权声明:本文为weixin_45381269原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。