sql - 在 ORACLE 中查找上季度的第一天和最后一天

标签 sql date

我有一个以下形式的查询:

select *
from X
where <some_date is in the last quarter>

我在获取上个季度的正确日期方面确实遇到了麻烦。因此,假设当前日期是 7 月 1 日,即在第三季度,我希望将 4 月 1 日作为 FIRST,将 6 月 30 日作为第一 作为最后一个季度(即第二季度)的最后一天。

在 Google 上搜索了一下,找到了大量这方面的解决方案,但每个解决方案都涉及 SQL Server,并且其中可用的时髦方法在我们的 ORACLE 数据库(Oracle 10g 和 11g)上不可用。

哦,是的,我还需要能够将整个事情放入一个查询中,因为这是某种工具对我施加的限制,该工具将进一步处理此查询...:/

最佳答案

这个更简单,但可能仍然不是最简单的方法:

SELECT
  ADD_MONTHS(TRUNC(SYSDATE, 'Q'), -3) AS First,
  TRUNC(SYSDATE, 'Q') - 1 AS Last
FROM DUAL

也许您还可以使用子选择,如下所示,以排除某些重复的代码:

SELECT
  ADD_MONTHS(D, -3) AS First,
  D - 1 AS Last
FROM (SELECT TRUNC(SYSDATE, 'Q') AS D FROM DUAL)

关于sql - 在 ORACLE 中查找上季度的第一天和最后一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7348226/

相关文章:

c# - 在(不相关的?)事务中使用 IsolationLevel.ReadUncommitted 时,SqlDependency 订阅不起作用

javascript - 在 javascript 中将纪元时间显示为 HHMM 格式

python - 两个设备故障之间的日期差异

sql - SQL 中的教科书 MergeSort 实现(Postgres)

专家的 SQL 嵌套计数

Python-无法打开库 'libtdsodbc.so' : file not found

c# - 将非常小的 double 转换为 SQL float 时出现问题

java - GWT/Java 日期 api 中的星期几

javascript - 复制此 Live Time 核心功能

jquery - Datepicker 仅适用于两位数的输入