Insert/ Update random date in MySQL(在 MySQL 中插入/更新随机日期)
问题描述
如何使用 MySQL 在过去 2 周内使用随机日期更新列?
How would I update a column with a random date in the past 2 weeks using MySQL?
例如(代码实际上不起作用):
For example (code doesn't actually work):
UPDATE mytable
SET col = sysdate() - rand(1, 14);
推荐答案
你可以用这个表达式得到一个随机整数:
You can get a random integer with this expression:
获得一个随机整数R范围 i <= R FLOOR(i + RAND() * (j - i))
.为了例如,要获得一个随机整数范围 范围 7 <= R <12、你可以使用以下语句:
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:
SELECT FLOOR(7 + (RAND() * 5));
https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_rand
使用它来生成一个随机的天数、小时数或分钟数(取决于分辨率)并将该数字添加到当前日期.
Use that to generate a random number of days, hours or minutes (depending on the resolution) and add that number to current date.
完整表达式为:
-- Date only
SELECT CURRENT_DATE - INTERVAL FLOOR(RAND() * 14) DAY;
-- Date and time
SELECT CURRENT_TIMESTAMP - INTERVAL FLOOR(RAND() * 14 * 24 * 60 *60) SECOND;
演示
这篇关于在 MySQL 中插入/更新随机日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 MySQL 中插入/更新随机日期
基础教程推荐
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01