MySQL:使用随机日期或空值填充表

标签 mysql random null create-table auto-populate

我想用过去的随机日期或空值填充表中的一列。我想在两个日期之间设置随机日期,1920 年 1 月 1 日和 2018 年 12 月 1 日,或 NULL VALUES。

我遇到了一些令人困惑的代码,这些代码可能是在特定时期内生成随机日期的解决方案,但它不适合空值。

INSERT INTO `FootballPlayers` VALUES (SELECT timestamp('2010-04-30') - INTERVAL FLOOR( RAND( ) * 366) DAY);

我希望表格的列有类似的内容。

+----------------+
|  Date of Death |
+----------------+
|   20/10/1990   |
|   01/11/1988   |
|   04/02/2006   |
|      NULL      |
|   17/05/2011   |
|   22/04/1972   |
|      NULL      |
|      NULL      |
|   13/04/1989   |
|   10/03/1999   |
+----------------+

最佳答案

实际上您不会通过此查询获得任何空值,但如果您在这里使用一些 case 语句,那么您可以在此处获得此空值。 我使用了 when-case 语句并得到了准确的结果。 给你:

SELECT 
CASE 
WHEN (SELECT FLOOR( RAND( ) * 366))  BETWEEN 50 AND 255 
THEN TIMESTAMP('2010-04-30') -INTERVAL FLOOR( RAND( ) * 366) DAY
ELSE NULL
END time_of_death

您也可以将其用于您的插入语句。

关于MySQL:使用随机日期或空值填充表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58726461/

相关文章:

java - 如何抑制 BufferReader 的空输出?

Javascript 对 HTML 表中的空值排序错误

MySQL 在 where 子句中分配用户定义的变量

mysql - mysql中单表中基于行数的百分比和基于条件的行数

swift - 另一个 View Controller 的 IBOutlet 为 nil

c++ - 如何使用 boost::random_device 生成密码安全的 64 位整数?

matlab - 如何生成n个点并限制它们之间的距离大于给定值?

mysql - 从以前的最新记录中选择一列

MySQL :- insert data in two difference database

java - 骰子的随机数(帮助)