Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysql insère une date et une heure aléatoires dans une plage de dates et d'heures donnée

Voici un exemple qui devrait vous aider :

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

Il utilise la date 2010-04-30 14:53:27 comme base, le convertit en un horodatage Unix, et ajoute un nombre aléatoire de secondes de 0 à +2 ans à la date de base et le reconvertit en un DATETIME.

Il devrait être assez proche, mais sur des périodes plus longues, les années bissextiles et d'autres ajustements le détruiront.