在做数据统计的时候,往往需要查询指定日期开始到当年最后一天的数据,这个时候,通过sqlserver如何获取指定日期的最后一天呢?
工具/原料
sqlserver
方法/步骤
1、打开SQLServerManagementStudio管理工具,点击【新建查询】,新建一个SQL书写窗口,用于演示SQL的执行
2、获取SQLServer中的最小日期(1900-0龀音孵茧1-0100:00:00.000),由于是加0,所溅局柑氍以,下面三种方式都是一样的结果selectDATEADD(day,0,0)selectDATEADD(month,0,0)selectDATEADD(year,0,0)
3、获取明年的今天,含时间的日期selectDATEADD(year,1,getdate())
4、获取明年的今天距离SQLServer最小日期之间差了多少年selectDATEDIFF(year,0,DATEADD(year,1,getdate()))
5、计算SQLServer最小日期的前一天日期,不含时间selectDATEADD(year,0,-1)
6、计算当年最后一天0点日期:SQLServer最小年的前一天,加上当前日期的下一年距离最小日期的年份差即可selectDATEADD(year,DATEDIFF(year,0,DATEADD(year,1,getdate())),-1)
7、计算当年最后一天23点59分59秒:上一步计算的结果上加1天,然后减喉哆碓飙去一秒钟selectDATEADD(ss,-1,DATEADD(day,吭稿荔徊1,DATEADD(year,DATEDIFF(year,0,DATEADD(year,1,getdate())),-1)))