Времето на 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;