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

MySQL from_unixtime po 2038-01-19?

Obejściem może być użycie DATE_ADD , ale nie jestem pewien, jak zachowuje się pod względem wydajności:

SELECT DATE_ADD(FROM_UNIXTIME(0), INTERVAL 2147483647 SECOND); //2038-01-19 04:14:07
SELECT DATE_ADD(FROM_UNIXTIME(0), INTERVAL 2147483648 SECOND); //2038-01-19 04:14:08
...
SELECT DATE_ADD(FROM_UNIXTIME(0), INTERVAL 4147483647 SECOND); //2101-06-06 07:47:27

Więc na razie używam

...
CASE 
  WHEN `javaTimeStampColumn` > 2147483647 THEN
    CONVERT_TZ(DATE_ADD(FROM_UNIXTIME(0), INTERVAL `javaTimeStampColumn`/1000 SECOND),'+00:00','+00:00')
  ELSE  
    CONVERT_TZ(FROM_UNIXTIME(`javaTimeStampColumn`/1000), '+00:00','+00:00')
END as ts
FROM table
...

co powinno zminimalizować wpływ na wydajność, jeśli taki istnieje.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest najlepszy sposób na dwukierunkową synchronizację danych dynamicznych w czasie rzeczywistym za pomocą mysql

  2. Jak używać ajax do aktualizacji bazy danych mysql, gdy zmieniono warunek pola wyboru?

  3. ładowanie enwiki-latest-categorylinks.sql do mysql

  4. Mysql Regex, aby zastąpić 0 z ipv4

  5. PHP Pthreads - używanie mysqli