La marca de tiempo de Unix es segundos desde 1970-01-01 00:00:00 UTC
que en realidad es 1970-01-01 01:00:00
en su zona horaria local (o la zona horaria donde se encuentra su servidor MySQL). Se parece a FROM_UNIXTIME
tiene esto en cuenta.
Para Oracle puede usar esta función:
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;
Supongo que si desea obtener la hora UTC en MySQL, debe ejecutar
select
CONVERT_TZ(FROM_UNIXTIME(1387444958),'{your local timezone}','UTC')
from dual;