Установка случайных дат DATETIME для статей в MySQL

Задача установки разных дат для записей может возникнуть, например, при массовом добавлении (импорте) новых статей на сайт, которые необходимо разбросать по разным датам добавления. Для решения данной задачи можно воспользоваться таким sql-запросом:

SET@MIN ='2013-01-07 00:00:00';
SET@MAX ='2014-12-24 00:00:00';
UPDATE`blog_post`SET`date_add`=  TIMESTAMPADD(SECOND, FLOOR(RAND()* TIMESTAMPDIFF(SECOND,@MIN,@MAX)),@MIN);

Сначала устанавливаем дату начала и окончания интервала разброса дат, затем нехитрыми математическими формулами делаем случайный разброс дат диапазона с помощью функции TIMESTAMPDIFF и в конце приводим дату к типу datetime.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *