sql >> Database >  >> RDS >> Mysql

Mysql voegt willekeurige datetime in een bepaald datetime-bereik in

Hier is een voorbeeld dat zou moeten helpen:

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

Het gebruikt de datum 2010-04-30 14:53:27 als de basis, converteert dat naar een Unix-tijdstempel en voegt een willekeurig aantal seconden van 0 tot +2 jaar toe aan de basisdatum en converteert het terug naar een DATETIME.

Het zou redelijk dichtbij moeten zijn, maar over langere perioden schrikken schrikkeljaren en andere aanpassingen het af.



  1. Waarom gebruiken we altijd liever parameters in SQL-statements?

  2. Hoe MySQL-tijd te converteren

  3. Kan er een impasse optreden met dezelfde toegangsmethode?

  4. Retourneer meerdere velden als een record in PostgreSQL met PL/pgSQL