网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   MySQL (https://www.0058.net/forumdisplay.php?f=76)
-   -   Insert/ Update random date in MySQL (https://www.0058.net/showthread.php?t=5094)

Illiopolis 2015-04-19 06:17 AM

Insert/ Update random date in MySQL
 
How would I update a column with a random date in the past 2 weeks using MySQL?

For example (code doesn't actually work):
Code:

UPDATE mytable
SET col = sysdate()-rand(1,14);


Iker 2015-04-19 06:18 AM

24

down vote

accepted


You can get a random integer with this expression:


To obtain a random integer R in the range i <= R < j, use the expression FLOOR(i + RAND() * (j - i)). For example, to obtain a random integer in the range the range 7 <= R < 12, you could use the following statement:
Code:

SELECT FLOOR(7 + (RAND() * 5));
http://dev.mysql.com/doc/refman/5.1/...functions.html

Use that to generate a random number of days, hours or minutes (depending on the resolution) and add that number to current date. Full expression would be something like this:
Code:

SELECT NOW() - INTERVAL FLOOR(RAND() * 14) DAY;


All times are GMT +8. The time now is 10:37 PM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.