63 votes

Soustraire le mois et le jour mysql

J'ai besoin de soustraire 1 mois et 4 jours avec mysql, j'ai vu la commande DATE_ADD (NOW (), - 1 MONTH) parfait pour 1 mois mais pour 1 mois et 4 jours, utiliser 31 jours n'est pas valable pour tous les mois que certains apportent 30, 29, 28. Je ne peux pas ajouter 31 + 4, 30 + 4, etc.

123voto

Haim Evgi Points 40786

En utilisant DATE_SUB [docs] comme :

DATE_SUB((DATE_SUB(curdate(), INTERVAL 1 MONTH)), INTERVAL 4 DAY)

21voto

ptomli Points 5778
SELECT DATE_ADD(DATE_ADD(NOW(),INTERVAL -1 MONTH), INTERVAL -4 DAY)

17voto

david Points 179

Restez simple :

SELECT CURDATE() - INTERVAL 1 MONTH - INTERVAL 4 DAY;

ou

SELECT '2014-03-27' - INTERVAL 1 MONTH - INTERVAL 4 DAY;

ou si vous souhaitez conserver l'heure actuelle :

SELECT NOW() - INTERVAL 1 MONTH - INTERVAL 4 DAY;

(Testé sur MySQL 5.1.73 et plus récent)

3voto

Mb Rostami Points 1321

SELECT CURRENT_TIMESTAMP + INTERVAL - 1 MONTH + INTERVAL - 4 DAY;
ou
SELECT CURRENT_DATE + INTERVAL - 1 MONTH + INTERVAL - 4 DAY;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X