sql >> Database teknologi >  >> RDS >> Mysql

Unix tidsstempelkonvertering er anderledes i Mysql og Oracle

Unix-tidsstemplet er sekunder fra 1970-01-01 00:00:00 UTC som faktisk er 1970-01-01 01:00:00 i din lokale tidszone (eller den tidszone, hvor din MySQL-server er placeret). Det ligner FROM_UNIXTIME tager højde for dette.

Til Oracle kan du bruge denne funktion:

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;

Jeg går ud fra, hvis du kan lide at få UTC-tid i MySQL, så skal du køre

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



  1. Oprettelse af visning på tværs af forskellige databaser

  2. REPLACE versus INSERT i SQL

  3. Hvordan opdaterer jeg to kolonner i en MySQL-database?

  4. Sidder fast med adgang nægtet for brugeren 'root'@'localhost' - Terminal, Mac