To_CHAR(ADD_MONTHS(TRUNC(TO_DATE('10 -04-10','RR-MM-DD'),'YY'),-1),'Q')

时间:2018-10-11 11:24:25

标签: sql oracle

我试图部分地破坏语句以理解,但似乎有一些错误。感谢有人可以向我解释这一点。

谢谢

select To_CHAR(ADD_MONTHS(TRUNC(TO_DATE('10-04-10','RR-MM-DD'), 'YY'), -1), 'Q')
from dual

1 个答案:

答案 0 :(得分:1)

TO_DATE('10-04-10','RR-MM-DD')创建一个日期数据类型,其值为2010年4月10日。

TRUNC( date_value, 'YY' )将日期截断为该年第一天的午夜。即在这种情况下,2010年1月1日。

ADD_MONTHS( date_value, -1 )在日期前加上-1个月。即2009年12月1日。

TO_CHAR( date_value, 'Q' )输出一年的季度。即4