postgresql - 在 PostgreSQL 中创建灵活的日期范围
问题描述
我想让我的查询更灵活的日期。我正在考虑参考当前日期定义变量。目前我正在编写上一季度、前一季度和一年前一季度的确切日期。
这是 Q1 的查询:
select '2020_Q1' as time_frame, id, status, date, agent, country, sale
from sales
where date >= '2020-01-01' and date < '2020-03-31'
我对第 4 季度和第 1 季度(2019 年)和最后的工会做同样的事情。今天是 4 月 27 日,假设距离现在还有 4 个月,现在是 8 月 27 日。现在,我想看看 Q2、Q1 和 Q2(2019 年)。我相信,我需要使用 current_date,但如果您认为有更有效的方法,请告诉我。
解决方案
您可以使用date_trunc()
来获取“当前季度”的开始:
select ...
from sales
where date => date_trunc('quarter', current_date)
and date < date_trunc('quarter', current_date) + interval '3 months'
推荐阅读
- c# - 将 base64string 中保存的数据的编码更改为 UTF8
- list - Cypher:从节点列表中获取相关节点列表
- html - Firefox 中绝对定位的元素内部链接的问题
- typo3 - TYPO3CMS:与内容不同的菜单语言
- php - Laravel 文件存储位置
- azure-active-directory - 如何使用 c# 以编程方式将 Azure AD 组添加到 SharePoint
- elixir - 重复的模块:毒药“混合释放”中指定的“Elixir.Poison.Encoder.Map”
- python - 如何在没有模型的情况下读取 keras 模型权重
- xamarin.forms - 启动屏幕棱镜 xamarin.forms
- excel - 删除excel中的重复行并将已删除的单元格留空