Mysql insert random datetime in a given datetime range

Viewed 39007

With SQL , Can I insert random datetime values in a column giving a range?

For example, given a range of 2010-04-30 14:53:27 to 2012-04-30 14:53:27

I'm getting confused with the range part. as i will have just done this

INSERT INTO `sometable` VALUES (RND (DATETIME())) 
8 Answers

This worked for me but my issue was a bit different. I had to assign certain values in a column to a random datetime.

    UPDATE Tablename
    SET columnName = addtime(concat_ws(' ','2018-07-25' + interval rand()*2 day 
    ,'00:00:00'),sec_to_time(floor(0 + (rand() * 86401))))
    WHERE columnName = condition;
SET @MIN = '2019-06-29 00:53:27';
SET @MAX = '2019-06-29 13:53:27';

UPDATE tablename
SET columnname = TIMESTAMPADD(SECOND, FLOOR(RAND() * TIMESTAMPDIFF(SECOND, @MIN, @MAX)), @MIN)
WHERE `columnname` = condition
Related