sql 语句系列(每个季度的开始日期和结束日期)[八百章之第二十二章]
前言
基本上统计财务一定会用到。
mysql
select QUARTER(ADDDATE(y.dy,-1)) QTR,
DATE_ADD(y.dy,INTERVAL -3 MONTH) Q_start,
ADDDATE(y.dy,-1) Q_end
from(
select DATE_ADD(x.dy,INTERVAL (3*x.id) MONTH) dy
FROM(
select id,ADDDATE(CURRENT_DATE,-DAYOFYEAR(CURRENT_DATE)+1) dy
from T100
where id<=4
) x
) y
解析:
select id,ADDDATE(CURRENT_DATE,-DAYOFYEAR(CURRENT_DATE)+1) dy
from T100
where id<=4
得到新年第一天,也就是1月1号。然后生成4行。
select DATE_ADD(x.dy,INTERVAL (3*x.id) MONTH) dy
分别在1月1号增加 3个月,6个月,9个月,12个月
得到的就是每一个季度后的一天,比如说1月1号增加3个月,那么就是4月1号,那么就是第一季度3月31后的一天。
至此相信后面就不用解释了。
sql server
with x(dy,cnt)
as(
select DATEADD(d,-(datepart(dy,getdate())-1),getdate()),1
union all
select DATEADD(m,3,dy),cnt+1
from x
where cnt+1<=4
)
select DATEPART(q,dateadd(d,-1,dy)) QTR,
DATEADD(m,-3,dy) Q_Start,
DATEADD(d,-1,dy) Q_End
from x
order by 1
原理和上文一致。
sql 语句系列(每个季度的开始日期和结束日期)[八百章之第二十二章]的更多相关文章
- “全栈2019”Java异常第二十二章:try-with-resources语句详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- “全栈2019”Java第二十二章:控制流程语句中的决策语句if-else
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- WP8.1学习系列(第二十二章)——在页面之间导航
在本文中 先决条件 创建导航应用 Frame 和 Page 类 页面模板中的导航支持 在页面之间传递信息 缓存页面 摘要 后续步骤 相关主题 重要的 API Page Frame Navigation ...
- JS获取本周、本季度、本月、上月的开始日期、结束日期
/** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = ...
- JS获取本周、本季度、本月、上月、本年的开始日期、结束日期
/** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = now.getDay(); //今 ...
- JAVA使用LocalDate获取当前日期所在季度的开始日期和结束日期
需要使用jdk1.8及以上 /** * 获取当前日期所在季度的开始日期和结束日期 * 季度一年四季, 第一季度:1月-3月, 第二季度:4月-6月, 第三季度:7月-9月, 第四季度:10月-12月 ...
- sql 入门经典(第五版) Ryan Stephens 学习笔记 (第六,七,八,九,十章,十一章,十二章)
第六章: 管理数据库事务 事务 是 由第五章 数据操作语言完成的 DML ,是对数据库锁做的一个操作或者修改. 所有事务都有开始和结束 事务可以被保存和撤销 如果事务在中途失败,事务中的任何部分都不 ...
- PHP计算一年有多少周,每周开始日期和结束日期
一年有多个周,每周的开始日期和结束日期 参考代码一:[正在使用的版本] <?php header("Content-type:text/html;charset=utf-8" ...
- PHP获取一年有几周以及每周开始日期和结束日期
最近接了一个项目,其中有一需求是用php获取一年有几周以及每周开始日期和接触日期.在网上找些资料没有合适的,于是自己做了一份,下面通过两种方式实现PHP获取一年有几周以及每周开始日期和结束日期 代码一 ...
- MySql开始日期、结束日期查询
str_to_date('2016-08-24', '%Y-%m-%d %H') validStartTime str_to_date('2016-09-16', '%Y-%m-%d %H') val ...
随机推荐
- vue配置scss全局样式
安装插件 npm install sass --save-dev 在src文件夹下创建styles文件夹,并创建以下文件 index.scss: scss的入口文件 // 引入清除默认样式 @impo ...
- Linux性能监控(二)-top
top命令可以用来监控服务器CPU.内存的运行情况,是Linux一个经常使用到的命令. 基本用法 第一行 显示当前系统运行信息,系统当前时间是23:23:21,运行了315days,当前有2个用户登录 ...
- 用Python编写自己的微型Redis
building-a-simple-redis-server-with-python 前几天我想到,写一个简单的东西会很整洁 雷迪斯-像数据库服务器.虽然我有很多 WSGI应用程序的经验,数据库服务器 ...
- [VueJsDev] 快速入门 - vscode 自动格式化
[VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html vscode 自动格式化(vue) ::: details ...
- 剑桥英英在线词典 - 可以查单词 可数-不可数 - 英语 a few/few/a little/little
There is _____ milk in a fridge. Let's go buy some. A. a few B. few C. a little D. little 解析:经典老知识点 ...
- python可视化工具pyecharts初相识
一 概念 1.pyecahrts基础 某度开源了一个python的可视化工具pyecharts,该工具凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可.而 python 是一门富有表达力的语 ...
- 后端基础SQL—数据库简介与SQL语法
数据库简介与SQL语法 1.数据库简介 2.数据库结构 3.SQL语句 4.SQL基本语法 5.MySQL基础查询语句 6.高级查询与子查询 7.渗透测试常用函数 8.判断闭合类型 一.数据库简介 数 ...
- 记一次配置mybatis plus报错有感
参考,欢迎点击原文:https://blog.csdn.net/wwrzyy/article/details/86034458(问题原因) https://www.jianshu.com/p/28d6 ...
- Hibernate之Criteria
1,Criteria Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria . ...
- epoll反应堆理解
https://www.aliyundrive.com/s/oBvP7BcjsCS https://blog.csdn.net/weixin_36750623/article/details/8354 ...