Einfügen zufälliger Datums-/Uhrzeitwerte innerhalb eines bestimmten Bereichs in MySQL
Das Einfügen zufälliger Datums-/Uhrzeitwerte innerhalb eines bestimmten Bereichs in SQL kann effizient erreicht werden. Um dies zu veranschaulichen, schauen wir uns das bereitgestellte Beispiel genauer an.
Der angegebene Bereich reicht von „2010-04-30 14:53:27“ bis „2012-04-30 14:53:27“. Die vorgeschlagene Abfrage „INSERT INTO sometable VALUES (RND (DATETIME()))“ generiert jedoch zufällige Datums-/Uhrzeitwerte ohne Berücksichtigung dieses Bereichs.
Um dieses Problem zu beheben, kann die folgende Abfrage verwendet werden:
INSERT INTO `sometable` VALUES( FROM_UNIXTIME( UNIX_TIMESTAMP('2010-04-30 14:53:27') + FLOOR(0 + (RAND() * 63072000)) ) )
Diese Abfrage wandelt effektiv das Basisdatum (2010-04-30 14:53:27) in einen Unix-Zeitstempel um und fügt dann einen Zufallsstempel hinzu Anzahl der Sekunden zwischen 0 und 2 Jahren bis zu diesem Basiszeitstempel. Dieser geänderte Zeitstempel wird dann wieder in ein DATETIME-Format konvertiert, wodurch zufällige Datums-/Uhrzeitwerte innerhalb des angegebenen Bereichs generiert werden.
Es ist wichtig zu beachten, dass diese Methode zwar eine Annäherung an das gewünschte Ergebnis liefert, Schaltjahre jedoch möglicherweise nicht berücksichtigt oder andere datumsbezogene Anpassungen. Für längere Zeiträume wird empfohlen, verfeinerte Techniken anzuwenden, um die Genauigkeit sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie füge ich zufällige Datetime-Werte innerhalb eines bestimmten Bereichs in MySQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!