我需要查找最后一个季度的最后一个日期,然后插入另一列中列出的日期。即从同一表读取并插入另一列
EX
column 1 | column 2
02-aug-16|30-jun-16
05-dec-16|30-sep-16
答案 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
);