Я пытаюсь вычесть now() - созданное поле datetime с 30 дней, чтобы получить оставшиеся дни как поле datetime, mysql дает мне ошибку для такого рода вещей.
SELECT id, created, INTERVAL 30 DAY - CURRENT_DATE - created as timeleft FROM tablename
В mysql вы должны перевести datetime в unix_timestamp, чтобы вычислить разницу между двумя днями
SELECT id, created, 30 - (unix_timestamp(CURRENT_DATE) - unix_timestamp(created ))/3600/24 as timeleft FROM tablename
Используйте функцию добавления даты, чтобы вычесть 30 дней.
SELECT DATE_ADD(current_date, interval -30 day);
Возвратите разницу в днях между двумя значениями даты:
SELECT DATEDIFF(current_date, "2017-06-15");
Вы можете использовать комбинацию этих функций для достижения желаемого результата.
INTERVAL 30 DAY - CURRENT_DATE
задом наперед ... должен бытьCURRENT_DATE - INTERVAL 30 DAY