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

Konwersja znacznika czasu uniksowego jest inna w Mysql i Oracle

Unix timestamp to sekundy od 1970-01-01 00:00:00 UTC czyli w rzeczywistości 1970-01-01 01:00:00 w Twojej lokalnej strefie czasowej (lub strefie czasowej, w której znajduje się Twój serwer MySQL). Wygląda na FROM_UNIXTIME bierze to pod uwagę.

W przypadku Oracle możesz użyć tej funkcji:

FUNCTION UnixTime2Timestamp(UnixTime IN NUMBER) RETURN TIMESTAMP IS
BEGIN
    RETURN (TIMESTAMP '1970-01-01 00:00:00 UTC' + UnixTime * INTERVAL '1' SECOND) AT LOCAL;
END UnixTime2Timestamp;

Zakładam, że jeśli chcesz uzyskać czas UTC w MySQL, musisz uruchomić

select 
   CONVERT_TZ(FROM_UNIXTIME(1387444958),'{your local timezone}','UTC') 
from dual;



  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 skutecznie połączyć się z mysql w php bez ponownego łączenia się przy każdym zapytaniu?

  2. Którego typu danych MySQL użyć do przechowywania wartości logicznych

  3. SQL JOIN dwie tabele z AVG

  4. Jak wstawić dane pliku csv do bazy danych mysql

  5. Nie można przekazać parametru 2 przez odwołanie - uuid PDO