Усеченная таблица с датой времени старше n дней - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу truncate некоторые записи из таблицы с предложением даты и времени.

Эта ссылка имеет решение, но оно не работает для меня.

TRUNCATE TABLE 'meter_to_sim_mapping' WHERE 'meter_to_sim_mapping'.'mapped_at' <=

В приведенном выше предложении where я хочу добавить значение даты и времени.Значение 2018-04-02 16:03:52.Запрос должен удалить все записи до этой даты.

Как я могу усечь таблицу с датой-временем?

Любая помощь будет высоко оценена.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Ниже пример может работать для вас:

DELETE FROM TABLE_NAME
WHERE DATE_COLUMN = DATE_SUB("2018-04-02 16:03:52", INTERVAL 10 DAY);

Вы можете изменить его соответственно вашему требованию.

Ссылка: MySQL DATE_SUB () Функция

0 голосов
/ 25 апреля 2018

Вам нужно использовать 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() Вы можете использовать ваше значение даты-времени

STR_TO_DATE('12-01-2014 00:00:00','%m-%d-%Y %H:%i:%s')

Демо

http://sqlfiddle.com/#!9/4607a6/1

...