Я хочу truncate
некоторые записи из таблицы с предложением даты.
У этой ссылки есть решение, но это не работает для меня.
TRUNCATE TABLE 'meter_to_sim_mapping' WHERE 'meter_to_sim_mapping'.'mapped_at' <=
В выше, где я хочу добавить значение времени даты. Значение - 2018-04-02 16:03:52
. Запрос должен удалить все записи до этой даты.
Как я могу усечь таблицу с датой?
Любая помощь будет высоко оценен.
Ниже приведен пример:
DELETE FROM TABLE_NAME
WHERE DATE_COLUMN = DATE_SUB("2018-04-02 16:03:52", INTERVAL 10 DAY);
Вы можете изменить его соответственно в соответствии с вашим требованием.
Ссылка: MySQL DATE_SUB() Функция
Вы должны использовать DELETE
DELETE FROM TABLE_NAME
WHERE DATE_COLUMN < NOW() - INTERVAL N DAY
или же
DELETE FROM TABLE_NAME
WHERE CAST(DATE_COLUMN AS DATE) < STR_TO_DATE('1-01-2012', '%d-%m-%Y') - INTERVAL N DAY
Вместо NOW()
Вы можете использовать свое значение datetime
STR_TO_DATE('12-01-2014 00:00:00','%m-%d-%Y %H:%i:%s')
демонстрация
NOW()
. Я хочу дать дату, а затем вычесть дни из нее