sql >> Database >  >> RDS >> Mysql

MySQL - DATE_ADD maandinterval

DATE_ADD werkt prima met verschillende maanden. Het probleem is dat je zes maanden toevoegt aan 2001-01-01 en 1 juli zou er moeten zijn.

Dit is wat je wilt doen:

SELECT * 
FROM mydb 
WHERE creationdate BETWEEN "2011-01-01" 
                   AND DATE_ADD("2011-01-01", INTERVAL 6 MONTH) - INTERVAL 1 DAY
GROUP BY MONTH(creationdate)

OF

SELECT * 
FROM mydb 
WHERE creationdate >= "2011-01-01" 
AND creationdate < DATE_ADD("2011-01-01", INTERVAL 6 MONTH)
GROUP BY MONTH(creationdate)

Kijk voor meer informatie op DATE_ADD documentatie .

*bewerkt om de syntaxis te corrigeren



  1. Hoe log/traceer ik Oracle opgeslagen procedure-aanroepen met parameterwaarden?

  2. MySQL-zelfstudie - De seconden achter Master Value begrijpen

  3. verbinding maken met een docker-compose mysql-container weigert toegang, maar docker met dezelfde afbeelding niet

  4. MySQL - SELECTEER ALS in WAAR