Mysql
 sql >> база данни >  >> RDS >> Mysql

Преобразуването на времевия печат на Unix е различно в Mysql и Oracle

Времето на Unix е секунди от 1970-01-01 00:00:00 UTC което всъщност е 1970-01-01 01:00:00 във вашата местна часова зона (или часовата зона, където се намира вашият MySQL сървър). Изглежда като FROM_UNIXTIME взема това предвид.

За Oracle можете да използвате тази функция:

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;

Предполагам, че ако искате да получавате UTC време в MySQL, тогава трябва да стартирате

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. Съвети за надграждане от MySQL 5.7 до MySQL 8

  2. Динамичен MySQL с локални променливи

  3. MySQL отнема завинаги "изпращане на данни". Проста заявка, много данни

  4. MySQL Покажи редове, които съществуват в една таблица, но не и друга

  5. Генериране на сол Crypt() и криптиране на парола, добре изпълнени?