sql >> Database >  >> RDS >> Mysql

Unix-tijdstempelconversie is anders in Mysql en Oracle

Unix-tijdstempel is seconden van 1970-01-01 00:00:00 UTC dat is eigenlijk 1970-01-01 01:00:00 in uw lokale tijdzone (of de tijdzone waar uw MySQL-server zich bevindt). Lijkt op FROM_UNIXTIME houdt hier rekening mee.

Voor Oracle kunt u deze functie gebruiken:

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;

Ik neem aan dat als je UTC-tijd in MySQL wilt krijgen, je moet uitvoeren

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



  1. FOUT:Kan rij 0, col -1 van CursorWindow niet lezen. Zorg ervoor dat de cursor correct is geïnitialiseerd voordat u toegang krijgt tot gegevens

  2. mySQL:Levenshtein-afstand gebruiken om duplicaten in 20.000 rijen te vinden

  3. Negeren invoegen - is er een manier om te weten of de instructie is genegeerd? MYSQL

  4. Hoe kan ik het integer-attribuut van een model toewijzen aan een string?