Zdravím, mám v db uložený nějaký datum v budoucnosti a potřebuju ho prodloužit o několik měsíců, ale vždy tak, abych dostal nejposlednější datum v onom měsíci. Takže když budu mít v db uloženo 2014-12-31 23:59:59 tak po přičtení půl roku chci dostat 2015-06-30 23:59:59. Vymyslel jsem takovouto prasečinu:
SELECT DATE_FORMAT(LAST_DAY(MAKEDATE(YEAR(NOW()),DAYOFYEAR('2014-12-31 23:59:59') + '28'*'6' )),'%Y-%m-%d 23:59:59')
Inkremetace se dá očekávat tak do 6ti měsíců, proto mohu využít násobení 28. Ale jsem si jistej že to pujde udělat mnohem jednodušejí a rychleji. Celej příkaz pak bude použit v UPDATE a vstupem bude pouze počet měsíců. Dotaz bude volán z php, takže by šlo možná využít jeho funkci strtotime s formátem něco jako "last day of +6 month'. Ale to už bych musel zase provádět dva SQL dotazy.