Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql wstawia losową datę i godzinę w podanym zakresie dat

Oto przykład, który powinien pomóc:

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

Używa daty 2010-04-30 14:53:27 jako baza, konwertuje ją na uniksowy znacznik czasu i dodaje losową liczbę sekund od 0 do +2 lat do daty bazowej i konwertuje ją z powrotem na DATETIME.

Powinno być całkiem blisko, ale w dłuższych okresach czasu, lata przestępne i inne korekty mogą to zniweczyć.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak chronić bazy danych MySQL przed kampaniami ransomware

  2. Jak pomyślnie przepisać stary kod mysql-php z przestarzałymi funkcjami mysql_*?

  3. CURTIME() Przykłady – MySQL

  4. DATE_ADD() Przykłady – MySQL

  5. Jak wstawić, jeśli wiersz nie istnieje (UPSERT) w MySQL?