sql server编写通用脚本如何实现获取一年前日期

  介绍

这篇文章给大家分享的是有关sql server编写通用脚本如何实现获取一年前日期的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

<强>问题:

在数据库编程开发中,有时需要获取一年前的日期,以便以此为时间的分界点,查询其前后对应的数据量。例如:

1。想查询截止到一年前当天0点之前的数据量,以及一年前当天0点开始到现在的数据量。
2。想查询截止到一年前当天24点之前的数据量,以及一年前当天24点开始到现在的数据量。
3。想查询截止到一年前当月1日0点之前的数据量,以及一年前当月1日0点开始到现在的数据量。
4。想查询截止到一年前当月最后一天24点之前的数据量,以及一年前当月最后一天24点开始到现在的数据量。

以上这四种情况的具体查询场景,有档案数据脚本开发之前对数据库数据量的分布情况进行统计等,也有根据当前日期动态计算一年来的增量增幅情况等。

如果每次接到这样的需求需要获取一年前日期,然后每次重新思考怎么去实现肯定是不明智的,或者说公司内已经有人写了脚本实现,但其他同事遇到相同的问题,又重新构思一次,这样就比较浪费时间和精力,耗在这个细节上一些精力,有点像要做饭可是没有米就要先去买米的感觉,而且容易造成不同人写的脚本不统一,不利于代码规范化标准化的原则,不同的人跟进的时候还要去想想之前的人写的是什么逻辑。而且重新开发脚本的话,又需要重新进行自测,不利于提高工作效率。

<>强解决方案:

<强>首先简单介绍一下基本的知识点:

获取当前日期()是获取当前日期;
返回可以对日期进行增减,在这里用来对年份减少1【返回(,1日期字符串),也可以用来对月份增加1【返回(月1日期字符串)】,
转换可以对日期进行字符串截取转换操作,在这里可以只截取形如2019-07-17的年月日【转换(varchar(10)日期字符串,120))】,也可以只截取形如2019 - 07年的年月部分【转换(varchar(7)日期字符串,120年)。

<>强然后就是针对上面4个问题对应的4个解决方法:

1。最简单,对当前日期进行减少1年的运算,然后只截取年月日)。
2。先对当前日期进行增加1天的运算,然后再减少1年,最后只截取年月日)。
3。先对当前日期进行截取年月操作,然后再指定为当月01日,再减少1年,最后只截取年月日)。
4。先对当前日期进行截取年月操作,然后再指定为当月01日,再减少1年,并加上1个月,最后只截取年月日)。

<强>最后就可以直接在查询脚本条件中使用这个时间节点:

查询统计时间节点之前:<代码> select count(*)从表时间字段& lt;@datePoint

查询统计时间节点开始到现在:<代码> select count(*)从表时间字段祝辞=@datePoint

脚本:

/*   ,功能:获取一年前日期   ,zhang502219048   ,脚本https://www.cnblogs.com/zhang502219048/p/11198789.html   */? .截止到一年前当天0点=declare  @datePoint  datetime 转换(varchar(10),返回(,,1,,获取当前日期()),,120)   select  @datePoint  as  DatePoint   去   ——2 .截止到一年前当天24点=declare  @datePoint  datetime 转换(varchar(10),返回(返回,,1,,(天,,1,,获取当前日期())),,120)   select  @datePoint  as  DatePoint   去   ——3 .截止到一年前当月1日0点=declare  @datePoint  datetime 转换(varchar(10),返回(,,1,,转换(varchar(7),获取当前日期(),,120),+,& # 39;-01 & # 39;),,120)   select  @datePoint  as  DatePoint   去   ——4 .截止到一年前当月最后一天24点=declare  @datePoint  datetime 转换(varchar(10),返回(返回月,,1,,(,,1,,转换(varchar(7),获取当前日期(),,120),+,& # 39;-01 & # 39;)),,120)   select  @datePoint  as  DatePoint   去

脚本运行结果:

 sql server编写通用脚本如何实现获取一年前日期

感谢各位的阅读!关于“sql server编写通用脚本如何实现获取一年前日期”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

sql server编写通用脚本如何实现获取一年前日期