Week of quarter语言 - Oracle SQL



如何使用Oracle SQL获得季度周?我使用简单的函数获取月份中的星期和一年中的星期:

WITH SYSDATE_TABLE AS (
    SELECT to_date('01-06-2015', 'dd-mm-yyyy') as date_dt
    FROM DUAL
)
SELECT
    to_char(DATE_DT,'W') as WEEK_OF_MONTH,
    to_char(to_date(DATE_DT),'WW') as WEEK_OF_YEAR
FROM
    SYSDATE_TABLE;

我使用MOD函数获得季度月份:

(CASE mod(to_number(to_char(DATE_DT, 'MM')), 3)
    WHEN 0 THEN 3
    WHEN 1 THEN 1
    WHEN 2 THEN 2
END) AS MONTH_OF_QUARTER

但我不知道我怎样才能得到季度的一周。有没有人知道如何解决这个问题?

怎么样

select 1 + TO_CHAR(DATE_DT, 'WW') - TO_CHAR(TRUNC(DATE_DT, 'Q'), 'WW')
from SYSDATE_TABLE;

根据你的解释:每个季度的前七天是第一周。接下来的七天是第二周等。你可以试试这个:

select 1 + TRUNC( (DATE_DT - TRUNC(DATE_DT, 'Q')) / 7 )
from SYSDATE_TABLE;

最新更新