【问题标题】:update mysql date random between two dates在两个日期之间随机更新mysql日期
【发布时间】:2016-05-16 02:38:45
【问题描述】:

如何在 phpmyadmin SQL 框中更新格式为 13-01-1980 的日期字段,其中包含两个日期之间的随机日期,例如 01-01-1990 和 01-01-1995 之间的任何一天?

我在 stackoverflow 和其他地方阅读了很多答案,但对我没有任何帮助。

【问题讨论】:

    标签: mysql date random


    【解决方案1】:

    您只需对rand() 使用日期算术:

    select date_add(date('1990-01-01'),
                    interval cast(rand() * datediff('1995-01-01', '1990-01-01') as int) day)
    

    编辑:

    对于update,基本上是相同的逻辑:

    update t
        set col2 = date_add(date('1990-01-01'),
                    interval cast(rand() * datediff('1995-01-01', '1990-01-01') as int) day)
        where col = 'abc';
    

    【讨论】:

    • 非常感谢戈登。如何在 update table mysql 命令的语法中使用它?例如更新 TABLE where col="abc" set col2="select date_add(date('1990-01-01'), interval cast(rand() * datediff('1995-01-01', '1990-01-01') ) as int) day)";
    猜你喜欢
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 2017-06-03
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    相关资源
    最近更新 更多