Heim >Datenbank >MySQL-Tutorial >Wie füge ich zufällige Datumsangaben innerhalb eines bestimmten Bereichs in MySQL ein?

Wie füge ich zufällige Datumsangaben innerhalb eines bestimmten Bereichs in MySQL ein?

DDD
DDDOriginal
2025-01-01 03:22:09951Durchsuche

How to Insert Random Datetimes Within a Specific Range in MySQL?

Zufällige Datums-/Uhrzeitwerte innerhalb eines Bereichs in MySQL einfügen

Das Einfügen zufälliger Datums-/Uhrzeitwerte innerhalb eines bestimmten Bereichs kann mit SQL eine Herausforderung darstellen. Bei einem Bereich wie „2010-04-30 14:53:27“ bis „2012-04-30 14:53:27“ kann das genaue Einfügen von Werten innerhalb dieses Bereichs verwirrend sein.

Lösung:

Um zufällige Datums-/Uhrzeitwerte innerhalb eines angegebenen Bereichs einzufügen, verwenden Sie Folgendes Ansatz:

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

Erklärung:

  • Die Funktion UNIX_TIMESTAMP() konvertiert das Basisdatum und die Basisuhrzeit („2010-04-30 14:53: 27") zu einem Unix-Zeitstempel.
  • RAND() generiert eine zufällige Gleitkommazahl zwischen 0 und 1.
  • 63072000 ist die Anzahl der Sekunden in zwei Jahren (oder 60 60 24 365 2).
  • FLOOR() rundet generierte Zufallszahl bis zur nächsten Ganzzahl.
  • Der resultierende Wert wird zum addiert Basis-Unix-Zeitstempel, der eine zufällige Anzahl von Sekunden innerhalb des Zweijahresbereichs darstellt.
  • FROM_UNIXTIME() konvertiert den geänderten Unix-Zeitstempel zurück in einen DATETIME.

Dieser Ansatz ist zwar fair Um genau zu sein, ist zu beachten, dass es über längere Zeiträume aufgrund von Faktoren wie Schaltjahren zu geringfügigen Abweichungen vom genauen Bereich kommen kann.

Das obige ist der detaillierte Inhalt vonWie füge ich zufällige Datumsangaben innerhalb eines bestimmten Bereichs in MySQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn