[sql] 2 Maand optellen 'afronden' op laatste dag
- wes -
29/05/2008 11:10:00Mensen en ambtenaren,
Zit klem met een query.
Ik heb een tabel met afspraken, van 'begin' tot 'eind' .
Nu wil ik een selectie maken van de afspraken van het begin van een maand geleden, tot de afspraken die beginnen over 2 maanden van nu, afgerond op de volle maand zeg maar.
Bijvoorbeeld:
Het is nu 29mei, dan wil ik alle afspraken weergeven van 1 April (wat prima wil) tot en met 31 juli (wat minder goed wil).
sql so far:
Het begin van april staat er dus al prima in, het gaat me hier meer om 31 juli die nu buiten de boot valt, omdat DATE_ADD 1 month precies 1 maand is, dus de 29e van volgende maand.
Wie maakt me los?
edit: found it
Zit klem met een query.
Ik heb een tabel met afspraken, van 'begin' tot 'eind' .
Nu wil ik een selectie maken van de afspraken van het begin van een maand geleden, tot de afspraken die beginnen over 2 maanden van nu, afgerond op de volle maand zeg maar.
Bijvoorbeeld:
Het is nu 29mei, dan wil ik alle afspraken weergeven van 1 April (wat prima wil) tot en met 31 juli (wat minder goed wil).
sql so far:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
SELECT
a.*
FROM
plugin_agenda_afspraken a
WHERE
a.begin
BETWEEN
DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 MONTH), "%Y-%m-01")
AND
DATE_ADD(NOW(), INTERVAL 2 MONTH)
ORDER BY
a.begin ASC
a.*
FROM
plugin_agenda_afspraken a
WHERE
a.begin
BETWEEN
DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 MONTH), "%Y-%m-01")
AND
DATE_ADD(NOW(), INTERVAL 2 MONTH)
ORDER BY
a.begin ASC
Het begin van april staat er dus al prima in, het gaat me hier meer om 31 juli die nu buiten de boot valt, omdat DATE_ADD 1 month precies 1 maand is, dus de 29e van volgende maand.
Wie maakt me los?
edit: found it
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
FROM
plugin_agenda_afspraken a
WHERE
a.begin
BETWEEN
DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 MONTH), "%Y-%m-01")
AND
DATE_ADD(LAST_DAY(NOW()), INTERVAL 2 MONTH)
OR
DATE(a.begin) = DATE_ADD(LAST_DAY(NOW()), INTERVAL 2 MONTH)
OR
DATE(a.begin) = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 MONTH), "%Y-%m-01")
ORDER BY
a.begin ASC
plugin_agenda_afspraken a
WHERE
a.begin
BETWEEN
DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 MONTH), "%Y-%m-01")
AND
DATE_ADD(LAST_DAY(NOW()), INTERVAL 2 MONTH)
OR
DATE(a.begin) = DATE_ADD(LAST_DAY(NOW()), INTERVAL 2 MONTH)
OR
DATE(a.begin) = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 MONTH), "%Y-%m-01")
ORDER BY
a.begin ASC
Gewijzigd op 01/01/1970 01:00:00 door - wes -
PHP hulp
17/11/2024 23:27:40Frank -
29/05/2008 12:10:00Waarbij de volkome idiote functie DATE_ADD() richting afvalbak kan. Gebruik gewoon een +, dat is wel zo handig. Voorbeeldje: