Anmelden

View Full Version : Letzter Tag des Monats



HPKahn
17-05-05, 11:31
Hallo Forum,

wie kan ich in einer Stored Prcedure des letzten Tag des Monats ermitteln?

Datum 1 ist Übergabe Parameter


z. B. LoadDatamart('2005-05-01')

hier soll in der SP der 31-05-2005 ermittelt werden.

Vielen Dank im Voraus

Grüße HP

rolf
17-05-05, 13:10
Mittels den Built-In-Functions für Datumsberechnungen:
Letzter = Erster +%MONTHS(1) -%DAYS(1)
Dabei müssen Letzter und Erster Variablen vom Typ Datum sein.

Fuerchau
17-05-05, 13:22
Da dies RPGLE-Funktionen sind, müsste man eine kleine externe SQL-Funktion (CREATE FUNCTION) schreiben, die genau dieses dann tut. Diese kann dann in der Stored-Procedure verwendet werden (wenn diese nicht bereits RPGLE ist).

HPKahn
17-05-05, 13:25
Hall zusammen,

habe schon eine passende Lösung gefunden.

SELECT (current date + 1 month) - day(current date) day INTO LASTMONTHDAY FROM sysibm.sysdummy1;

Das funzt.

Danke und Grüße
HP


Hallo Forum,

wie kan ich in einer Stored Prcedure des letzten Tag des Monats ermitteln?

Datum 1 ist Übergabe Parameter


z. B. LoadDatamart('2005-05-01')

hier soll in der SP der 31-05-2005 ermittelt werden.

Vielen Dank im Voraus

Grüße HP

B.Hauser
17-05-05, 14:07
Hall zusammen,

habe schon eine passende Lösung gefunden.

SELECT (current date + 1 month) - day(current date) day INTO LASTMONTHDAY FROM sysibm.sysdummy1;

Das funzt.

Danke und Grüße
HP

Was ist das Ergebnis, wenn Current_Date der 30.01. oder der 31.03. oder der 31.05 oder .... ist?

Die richtige Formel bzw das richtige Statement lautet:


Set LastMonthDay = Current_Date + 1 Month
- DayOfMonth(Current_Date + 1 Month) Days;