Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql inserisce datetime casuali in un determinato intervallo datetime

Ecco un esempio che dovrebbe aiutare:

INSERT INTO `sometable` VALUES(
    FROM_UNIXTIME(
        UNIX_TIMESTAMP('2010-04-30 14:53:27') + FLOOR(0 + (RAND() * 63072000))
    )
)

Utilizza la data 2010-04-30 14:53:27 come base, lo converte in un timestamp Unix e aggiunge un numero casuale di secondi da 0 a +2 anni alla data di base e lo converte di nuovo in DATETIME.

Dovrebbe essere abbastanza vicino, ma su periodi di tempo più lunghi gli anni bisestili e altri aggiustamenti lo annulleranno.