2010-08-17 4 views
1

есть ли способ конвертировать из unix timestamp в GMT в mysql во время выполнения самого запроса? Мой запрос выглядит следующим образом:mysql запрос для преобразования часового пояса

SELECT 
    r.name 
    , r.network 
    , r.namestring 
    , i.name 
, i.description 
    , r.rid 
    , i.id 
    , d.unixtime     // this is the unix time i am asking to print 
    , d.ifInOctets 
FROM range AS r 
INNER JOIN intranet AS i 
ON r.rid = i.rid 
INNER JOIN 1279080000_1_60 AS d 
ON i.id = d.id 
AND unixtime BETWEEN 1279113600 AND 1279115400 // range of unix time 
WHERE r.network = "ITPN" 
AND i.status = "active" 
GROUP BY i.id AND d.unixtime 

Я работал с ним в JDBC и попытался многочисленные способы, предложенные в этом форуме, чтобы сделать преобразование, но это, кажется, не поможет.

Можно ли преобразовать его напрямую и распечатать при запуске самого запроса? Я хочу показать дату в часе: минуты. например: 9:20.

Пожалуйста, помогите или если есть какая-либо ссылка, я могу следить, что было бы здорово. Спасибо,

ответ

7

Использование FROM_UNIXTIME преобразует метку времени UNIX в MySQL DATETIME:

FROM_UNIXTIME(r.unixtime) 

Затем вы можете использовать CONVERT_TZ, чтобы получить DATETIME в другой часовой пояс:

CONVERT_TZ(FROM_UNIXTIME(r.unixtime), ?, 'GMT') 

Проблема, вам необходимо знать исходный часовой пояс - вы должны обновить ? с правильным часовым поясом ...

+0

привет, from_unixtime работал как шарм. но можно ли просто получить его за несколько часов и минут, а не всю дату, час, минуту, секунду? спасибо большое :) – JJunior

+0

@jillika iyer: См. Обновление - пример, который я дал, вернет значение в h24: mm –

+0

, что не работает. Тогда я получаю «null» в качестве содержимого поля. :( – JJunior

Смежные вопросы