MySQL - Monatsdifferenz auswählen
Frage
Ich kann also die Tage mit SELECT DATEDIFF(CURDATE(),expires)
abrufen, aber nicht genau einen Monat mit einer Ausgabe von eins (1).Ist es nicht irgendwie möglich, es in MySQL in einen Monat umzuwandeln?Ich möchte überprüfen, ob ein bestimmtes Datum (wie expires
)>= 1 ist.
Lösung
SELECT
...
FROM
tablename
WHERE
expires<=DATE_SUB(CURDATE(), INTERVAL 1 MONTH);
Sie erhalten alle Zeilen, die vor einem Monat oder früher abgelaufen sind
Andere Tipps
Verwenden Sie die folgende Abfrage
Select * from
table_name where TIMESTAMPDIFF
(MONTH,
ADDDATE(LAST_DAY(SUBDATE(expires, INTERVAL 1 MONTH)), 1),
ADDDATE(LAST_DAY(SUBDATE(CURDATE(), INTERVAL 1 MONTH)), 1)
)>=1
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow