Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL fügt eine zufällige Datumszeit in einen bestimmten Datumszeitbereich ein

Hier ist ein Beispiel, das helfen sollte:

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

Es verwendet das Datum 2010-04-30 14:53:27 als Basis, wandelt diese in einen Unix-Zeitstempel um und fügt eine zufällige Anzahl von Sekunden von 0 bis +2 Jahren zum Basisdatum hinzu und wandelt es zurück in eine DATETIME.

Es sollte ziemlich nah sein, aber über längere Zeiträume hinweg werden Schaltjahre und andere Anpassungen es aus der Bahn werfen.