sqlserver如何根据指定日期计算当年的第一天

在现实SQL计较中 , 有时辰需要统计从指定日期昔时的第一天到指定日期之间的数据 , 这个时辰 , 就需要计较出昔时的第一天到底是什么日期 , 这个该怎么计较呢?

需要这些哦
sqlserver
方式/
1总体思绪:先计较指定日期距离最小日期(1900-01-01)之间相差几多年 , 然后 , 再从最小日期加上相差的年份 , 就获得了指定日期的昔时第一天 。 本文以sqlserver为例讲解 , 需要用到两个函数dateadd和datediff

sqlserver如何根据指定日期计算当年的第一天

文章插图

2获取SQLserver的当前日期
     select GETDATE()

sqlserver如何根据指定日期计算当年的第一天

文章插图

3DATEADD(datepart, number, date)利用
     1)datepart:暗示你要操作的日期的部门 , 一次只能操作一个类型 。 好比 , 一次加5年 , 一次加2月 , 一次加3天 。 都只能一个一个的加 。 年:year , 月:month , 日:day
     2)number:暗示你要加或者减的数目 , 若是detepart是年 , 就暗示操作年
     3)date:暗示在什么日期根本上操作

sqlserver如何根据指定日期计算当年的第一天

文章插图

4DATEDIFF(datepart, startdate, date)利用
     1)datepart:暗示你要计较的日期的部门 , 如年 , 月 , 日
     2)startdate:暗示起头日期
     3)date:暗示竣事日期

sqlserver如何根据指定日期计算当年的第一天

文章插图

5计较指定日期(以当前日期为例)到SQLServer最小日期(1900-01-01)之间相差几多年
     select datediff(year, 0, getdate()) as '相差年份', GETDATE() as '当前日期'

sqlserver如何根据指定日期计算当年的第一天

文章插图

6从SQLServer最小日期(1900-01-01)加上距今的年份 , 就获得了本年的第一天
     select dateadd(year, datediff(year, 0, getdate()), 0) 

sqlserver如何根据指定日期计算当年的第一天

文章插图

7若是不是当前日期 , 只需要点窜getdate()就可以了 。 好比 , 想要知道2020-05-01的昔时第一天日期
【sqlserver如何根据指定日期计算当年的第一天】    select dateadd(year, datediff(year, 0, '2020-05-01'), 0) 

sqlserver如何根据指定日期计算当年的第一天

文章插图


以上内容就是sqlserver如何根据指定日期计算当年的第一天的内容啦 , 希望对你有所帮助哦!

    推荐阅读