monthend - Skript- und Diagrammfunktion
Diese Funktion liefert den Zeitstempel der letzten Millisekunde des letzten Tags des Monats, in dem date liegt. Das Ergebnis wird entsprechend dem im Skript definierten DateFormat formatiert.
Syntax:
MonthEnd(date[, period_no])
Rückgabedatentyp: dual
Argumente:
Argument | Beschreibung |
---|---|
date | Das zu berechnende Datum. |
period_no | period_no ist eine ganze Zahl, die beim Weglassen von 0 den Monat liefert, der date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Monate. |
Beispiele und Ergebnisse:
In diesen Beispielen wird das Datumsformat DD/MM/YYYY verwendet. Das Datumsformat wird im Befehl SET DateFormat oben in Ihrem Ladeskript angegeben. Ändern Sie das Format in den Beispielen nach Bedarf.
Beispiel 1:
monthend('19/02/2012')
Liefert 29/02/2012 23:59:59.
Beispiel 2:
monthend('19/02/2001', -1)
Liefert 31/01/2001 23:59:59.
Beispiel 3:
Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.
In diesem Beispiel wird der letzte Tag im Monat für jedes Rechnungsdatum in der Tabelle ermittelt, wobei base_date um vier Monate verschoben wird, weil period_no als 4 festgelegt wurde.
TempTable:
LOAD RecNo() as InvID, * Inline [
InvDate
28/03/2012
10/12/2012
5/2/2013
31/3/2013
19/5/2013
15/9/2013
11/12/2013
2/3/2014
14/5/2014
13/6/2014
7/7/2014
4/8/2014
];
InvoiceData:
LOAD *,
MonthEnd(InvDate, 4) AS MthEnd
Resident TempTable;
Drop table TempTable;
Die sich daraus ergebende Tabelle enthält die ursprünglichen Daten sowie eine Spalte mit dem Rückgabewert der Funktion monthend(). Sie können den vollständigen Zeitstempel anzeigen, indem Sie die Formatierung in den Diagrammeigenschaften angeben.
InvDate | MthEnd |
---|---|
28/03/2012 | 31/07/2012 |
10/12/2012 | 30/04/2013 |
5/2/2013 | 30/06/2013 |
31/3/2013 | 31/07/2013 |
19/5/2013 | 30/09/2013 |
15/9/2013 | 31/01//2014 |
11/12/2013 | 30/04//2014 |
2/3/2014 | 31/07//2014 |
14/5/2014 | 30/09/2014 |
13/6/2014 | 31/10/2014 |
7/7/2014 | 30/11/2014 |
4/8/2014 | 31/12/2014 |