2017-09-21 8 views
0

こんにちは、私はオラクルにとってかなり新しいです。私は完全な月のパーセントを計算したいと思います。私はそれが今月の最後の日に分割されることを知っていますが、私はそれをOracleのSQLで書く方法がわかりませんオラクルSQL月%%完了数式

今日は9月21日から21/30になります月に30日あります。完全な月の割合は70%になり、それは私が

+0

は、あなたのテーブル(複数可)を記載してくださいサンプルデータとともに構造をと希望の出力。 –

+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

したがって、(sysdate) – OldProgrammer

+0

は丸めを計算式に追加する必要があります。 'SELECT round((from extract from day from SYSDATE + 1)/ 抽出日(LAST_DAY(SYSDATE)からの日))* 100) FROM dual; ' –