MySQL Monate zwischen zwei Daten berechnen
logitechg15
- datenbank
Hallo,
Ich sitze jetzt schon seit längerem an dieser Abfrage, aber komme nicht zu einem grünen Zweig ;)
Also folgendes Problem:
Ich habe eine Tabelle mit unter anderem folgenden Werten: (id, startDate, endDate, month...)
Ich will jetzt eine syntax erstellen mit der ich was eintragen kann mit den 2 Daten und dass im 4 Feld automatisch die Monate berechnet werden.
Folgenden Ansatz hätte ich:
"INSERT INTO Period VALUES(NULL, DATE('2008-03-28'), DATE('2008-05-28'), SELECT PERIOD_DIFF( EXTRACT( YEAR_MONTH FROM DATE('2008-03-28')), EXTRACT( YEAR_MONTH FROM DATE('2008-05-28')) ),...);"
so bekomm ich eine syntax error.
Ich habe schon ein paar kombinationen probiert, aber es klappt net ;)
Eine andere Frage, wäre es auch möglich irgenwie bei "YEAR_MONTH FROM DATE('2008-03-28')" redundant das aus der DB zu holen was gerade rein geschrieben wurde? Wenn nicht, ist auch nicht schlimm. Hauptsache die Monate berechnen funktioniert :).
Danke im Voraus.
Hallo,
und was für einen Syntaxerror bekommen wir da?
Vielleicht ist ja einfach nur das SELECT bei SELECT PERIOD_DIFF zuviel?
Ciao, Frank
Hi
vielen Dank; zumindest gehts schon mal ein wenig weiter so ;)
aber der
PERIOD_DIFF( EXTRACT( YEAR_MONTH FROM DATE(2008-03-28)), EXTRACT( YEAR_MONTH FROM DATE(2008-05-28)) )
gibt einzeln NULL aus. Da ist irgendwo noch ein bug drin.
Mit der Syntax error konnte man nicht viel anfangen; wie so oft "near..." und dann sitzt man da ;)
Vielen Dank
Nachtrag:
also schon
SELECT EXTRACT( YEAR_MONTH FROM DATE(2008-05-28))
gibt NULL, also stimmt wohl was da nicht. Weiss da einer weiter
Danke
Und wieder ich :)
hat sich erledigt:
so klappts:
"PERIOD_DIFF( EXTRACT( YEAR_MONTH FROM '2008-05-28'), EXTRACT( YEAR_MONTH FROM '2008-03-28') )"
Danke nochmals