当前位置: 首页 > 面试题库 >

在ORACLE中查找最后一个季度的第一天和最后一天

杜经艺
2023-03-14
问题内容

我有以下形式的查询:

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

我很难确定上个季度的正确日期。因此,假设当前日期是 7月1日 ,即第三季度,我想将 4月1日 作为FIRST,将 6月30日 作为最后
一个季度 (即第二季度)的最后一天。

谷歌搜索了一下,找到了很多解决方案,但是每个解决方案都涵盖了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)


 类似资料:
  • 问题内容: 计算上一季度最后一天的最有效方法是什么? 示例:给定日期11/19/2008,我想返回9/30/2008。 平台是SQL Server 问题答案: 如果@Date有日期问题 编辑:感谢下面的@strEagle,更简单的是:

  • 问题内容: 我的问题是:有没有办法像Oracle SQL函数一样在Hive中查找一个月的最后一天?: 谢谢。 问题答案: 您可以使用Nexr提供的UDF。它基于带有yyyy-MM-dd HH:mm:ss模式的日期字符串返回月份的最后一天。 您需要从其Github存储库中提取它并进行构建。他们的Wiki页面包含有关如何在Hive中进行构建和使用的所有信息。

  • 问题 你需要去找出一个月的最后一天,但是一年中的各月并没有一个固定时间表。 解决方案 利 用JavaScript 的日期下溢来找到给出月份的第一天: now = new Date lastDayOfTheMonth = new Date(1900+now.getYear(), now.getMonth()+1, 0) 讨论 JavaScript 的日期构造函数成功地处理溢出和下溢情况,使日期的计算

  • 问题内容: 我正在寻找获取上个月第一天和最后一天的最佳方法。我使用它们进行SQL查询以获取上个月的统计信息。 我认为这是最好的方法,更优化但又不那么全面,有人有另一种方法可以做到这一点吗? 谢谢!! 问题答案: 在PHP 5.3中,您可以使用类:

  • 问题内容: 我正在设法迅速获得每月的第一天和最后一天。 到目前为止,我有以下内容: 但是我不确定如何获得最后的约会。我是否缺少内置方法?显然,它必须考虑leap年等。 问题答案: 您只需使用以下命令即可获得每月的第一天 要获得该月的最后一天,请添加一个月并减去一天: 或者,使用为您提供开始时间和月份长度的方法: 对于月份的最后一天的日期,请加上月份的长度减去一秒: 为Swift5更新:

  • 问题内容: 亲爱的专业人员, 我有一个查询来获取本月的第一天和最后一天,但是我对本月第一天的时间戳有疑问。 自2015年2月起,我希望获得以下结果: @LastDOM是正确的,但是我没有得到@FirstDOM的时间戳部分的零,我得到了正确的日期,但是是运行脚本的时间。假设是上午8:50,我得到: 修复此小故障的最佳方法是什么? 问候, 缺口 问题答案: 将@FirstDOM转换为如下形式: 我希望