Oracle获取月初/月末/季初/季末/半年初/半年末/年初/年末
生活随笔
收集整理的這篇文章主要介紹了
Oracle获取月初/月末/季初/季末/半年初/半年末/年初/年末
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
V_BEGIN_DT_M DATE; --按月開始日期V_BEGIN_DT_Q DATE; --按季開始日期V_BEGIN_DT_H DATE; --按半年開始日期V_BEGIN_DT_Y DATE; --按年開始日期V_END_DT_M DATE; --按月結(jié)束日期V_END_DT_Q DATE; --按季結(jié)束日期V_END_DT_H DATE; --按半年結(jié)束日期V_END_DT_Y DATE; --按年結(jié)束日期SELECT TRUNC(V_DATE,'MM') V_DATE_M,--月報(bào)TRUNC(V_DATE,'Q') V_DATE_Q, --季報(bào)CASEWHEN TO_CHAR(V_DATE,'MM') <'07' THEN TRUNC(V_DATE,'YYYY')WHEN TO_CHAR(V_DATE,'MM') >'06' THEN PKG_COMM_UTIL.FUNC_TO_DATE((TO_CHAR(V_DATE,'YYYY') || '0701'),'YYYYMMDD')END V_DATE_H, --半年報(bào)TRUNC(V_DATE,'YYYY') V_DATE_Y, --年報(bào)LAST_DAY(V_DATE) AS V_END_DT_M, ADD_MONTHS(TRUNC(V_DATE,'Q'),3)-1 AS V_END_DT_Q,CASEWHEN TO_CHAR(V_DATE, 'MM') < '07' THEN ADD_MONTHS(TRUNC(V_DATE,'YYYY'),6)-1WHEN TO_CHAR(V_DATE, 'MM') > '06' THEN ADD_MONTHS(TRUNC(V_DATE,'YYYY'),12)-1END AS V_END_DT_H,ADD_MONTHS(TRUNC(V_DATE,'YYYY'),12)-1 AS V_END_DT_YINTO V_BEGIN_DT_M, V_BEGIN_DT_Q, V_BEGIN_DT_H, V_BEGIN_DT_Y,V_END_DT_M, V_END_DT_Q, V_END_DT_H, V_END_DT_Y FROM DUAL;
轉(zhuǎn)載于:https://www.cnblogs.com/ayumie/p/9952848.html
總結(jié)
以上是生活随笔為你收集整理的Oracle获取月初/月末/季初/季末/半年初/半年末/年初/年末的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中的堆、栈、方法区等比较
- 下一篇: jinjia2 模板不解析html