如何計算日期範圍與特定日期之間的天數?如何計算日期範圍與特定日期之間的天數?
實施例:
START_DT = 2014年1月1日;
END_DT = 2014年1月31日;
天=:SampleDay
示例結果:
星期一= 4,
週二= 4,
週三= 5
請幫助。 :|
如何計算日期範圍與特定日期之間的天數?如何計算日期範圍與特定日期之間的天數?
實施例:
START_DT = 2014年1月1日;
END_DT = 2014年1月31日;
天=:SampleDay
示例結果:
星期一= 4,
週二= 4,
週三= 5
請幫助。 :|
您正在尋找這樣的事情,
WITH t(date1, date2) AS
(
SELECT to_date('01/01/2014', 'dd/mm/yyyy'),
to_date('31/01/2014','dd/mm/yyyy')+1 -- Adding 1 to calculate the last day too.
FROM DUAL
)
SELECT count(days) day_count, day
DAY
FROM(
SELECT date1 + LEVEL -1 days,
to_char(date1 + LEVEL -1, 'FmDay') DAY, --Use `FmDay`, this will remove the Embedded spaces.
to_char(date1 + LEVEL -1, 'D') DAY#
FROM t
CONNECT BY LEVEL <= date2 - date1
)
WHERE day = 'Monday' --Filter with day, if you want to get the count for a specific day.
GROUP BY DAY, day#
ORDER BY day#;
你不會有直接的解決方案。在Oracle中,你有這樣的形式知道星期幾是一個特定的日期:
to_char(to_date('01012014', 'ddmmyyyy'), 'Day')
我會建議你做一個簡單的算法商店的過程,它接收三個參數,然後顯示你的信息需要。把它放在查詢中,並完成。
如何獲得特定的一天嗎?例如星期一隻... –
@VondRitz,只需過濾o/p like,'WHERE day ='Sunday''我會更新我的答案。 – Dba
我試過了。但它不適合我。謝謝。 –