2017-09-21 1 views
0

Hallo, ich bin ziemlich neu in Oracle. Ich möchte den Prozentsatz des Monats vollständig berechnen. Ich weiß, es wäre der aktuelle Tag geteilt durch den letzten Tag des Monats, aber ich bin mir nicht sicher, wie man das in SQL in Oracle schreibtOracle SQL Monat bis Prozent% abgeschlossen Formel

So für heute wäre es der 21/30 seit seinem 21. September und es gibt 30 Tage im Monat. Der prozentuale Anteil des Monats vollständig würde 70% betragen und das ist, was ich dies zu erhalten, bin zu wollen, in oracle

+0

Bitte geben Sie Ihre Tabelle (n) Struktur zusammen mit Beispieldaten und die gewünschte Ausgabe. –

+0

Was meinst du damit? Prozent abgeschlossen, bis zu welcher Zeit von heute? Deine Berechnung (21/30) ist bis Mitternacht am ENDE von heute, ist das was du brauchst? Auch wenn um Mitternacht am ANFANG von heute (Ende von GESTERN) ist? – mathguy

Antwort

3

Versuchen:

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

Here is a good overview

+0

Beachten Sie meinen Kommentar zum OP obwohl. Wenn SYSDATE am 21. September 2017 um 00:00 in 24-Stunden-Notation ist, wird die Berechnung 21/30 zurückgeben. Das ist ein bisschen komisch, weil zu dieser Zeit genau 20 Tage bestanden hat, nicht 21. – mathguy

+0

So können wir trunc (sysdate) – OldProgrammer

+0

müssen hinzufügen, um die Berechnungsformel runden SELECT Runde ((extrahieren (Tag von SYSDATE + 1)/ extrahieren (Tag vom LAST_DAY (SYSDATE))) * 100) FROM dual; ' –