2017-09-21 76 views
0

嗨,我對Oracle很新。我想計算一個月完成的百分比。我知道這將是當天除以該月的最後一天,但我不知道如何在Oracle中的SQL中編寫該文件Oracle SQL月完成百分比公式

因此,今天它將是自9月21日以來的21/30並且該月有30天。一個月完成的百分比是70%,這就是我想在oracle中得到

+0

請提供您的表(S)結構與樣本數據一起和期望的輸出。 –

+0

你是什麼意思?完成百分比,直到今天幾點?你的計算(21/30)直到今天的午夜,是你需要的嗎?即使在今天(上午)結束時的午夜時間? – mathguy

回答

3

試試這個:

SELECT (extract(day from SYSDATE)/ 
      extract(day from LAST_DAY(SYSDATE)))* 100 
    FROM dual; 

Here is a good overview

+0

請注意我對OP的評論。如果SYSDATE在2017年9月21日00:00以24小時製表示,則計算將返回21/30。這有點奇怪,因爲當時正好20天過去了,而不是21. – mathguy

+0

所以我們可以trunc(sysdate) – OldProgrammer

+0

需要添加四捨五入到計算公式'SELECT round((extract(day from SYSDATE + 1)/ 摘錄(從LAST_DAY(SYSDATE)開始的日期))* 100) FROM dual;' –