Oracle: Days between two date and Exclude weekdays how to handle negative numbers

后端 未结 2 1974
栀梦
栀梦 2020-12-07 05:33

I have two date columns and trying to measure days between the two dates excluding weekends. I\'m getting a negative number and need help solving.

Table

<         


        
2条回答
  •  情书的邮戳
    2020-12-07 06:01

    With RANGE_TEMP as (

    SELECT
        STARTPERIOD start_date,
        ENDPERIOD end_date 
    FROM
        TABLE_DATA -- YOUR TABLE WITH ALL DATA DATE
    

    ), DATE_TEMP AS (

    SELECT
        (start_date + LEVEL) DATE_ALL
    FROM
        RANGE_TEMP
    CONNECT BY LEVEL <= (end_date - start_date)
    

    ), WORK_TMP as (

    SELECT
        COUNT(DATE_ALL) WORK_DATE
    FROM
        DATE_TEMP
    WHERE
        TO_CHAR(DATE_ALL,'D', 'NLS_DATE_LANGUAGE=ENGLISH') NOT IN ('1','7')
    

    ), BUSINESS_TMP as (

    SELECT
        COUNT(DATE_ALL) BUSINESS_DATE
    FROM
        DATE_TEMP
    WHERE
        TO_CHAR(DATE_ALL,'D', 'NLS_DATE_LANGUAGE=ENGLISH') IN ('1','7')
    

    ) SELECT L.WORK_DATE, H.BUSINESS_DATE FROM BUSINESS_TMP H, WORK_TMP L ;

提交回复
热议问题