Oracle sql。查找上一季度给定日期的最后日期

时间:2016-08-02 10:25:28

标签: sql oracle

我需要查找最后一个季度的最后一个日期,然后插入另一列中列出的日期。即从同一表读取并插入另一列

EX

column 1 | column 2
02-aug-16|30-jun-16
05-dec-16|30-sep-16

2 个答案:

答案 0 :(得分:1)

假设您知道如何在列中插入值,并假设 - 如果您的日期不是正确的日期数据类型而是字符串,那么您知道如何将其更改为{{1}的日期} ...

唯一剩下的问题是,在给定日期的情况下,您如何找到上一季度的最后日期。

to_date()可以与日期参数一起使用。该函数截断输入日期。您可以给它第二个参数来显示要截断的内容。 ' Q'是四分之一。因此trunc()将返回"当前"的第一天quarter(当前为trunc(date_col, 'q')中存储的值,即)。然后你可以减去1(这意味着一天)来获得上一季度的最后一天。

date_col

答案 1 :(得分:0)

如果我做对了,请将源日期截断到四分之一开始并减去一天

select col1, TRUNC(col1,'Q') - interval '1' day col2 
from (
  select cast('02-aug-16' as date) col1 from dual
  union all 
  select cast('05-dec-16' as date) col1 from dual
);