Проблем:
Искате да покажете вчерашната дата (без час) в база данни на MySQL.
Решение:
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday_date;
Ако приемем, че днес е 2020-09-24, резултатът е:
yesterday_date |
---|
23.09.2020 |
Дискусия:
За да получите вчерашната дата, трябва да извадите един ден от днешната. Използвайте CURDATE()
за да получите днешната дата. В MySQL можете да извадите всеки интервал от дата, като използвате DATE_SUB()
функция. Тук, тъй като трябва да извадите един ден, използвате DATE_SUB(CURDATE(), INTERVAL 1 DAY)
за да получите вчерашната дата. Имайте предвид, че резултатът от това изчисление все още има датата на типа колона.
Можете също толкова лесно да се върнете назад за всеки интервал от време. Ето един пример:
SELECT DATE_SUB(CURDATE(), INTERVAL 2 MONTH) AS date_two_months_ago;
Можете също така да изчислите утрешната дата много лесно. Използвайте DATE_ADD()
функция за добавяне на интервал към дата.
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS tomorrow_date;