MySQL запрос для преобразования часового пояса - PullRequest
1 голос
/ 17 августа 2010

Есть ли способ преобразовать метку времени Unix в GMT в 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.

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

1 Ответ

7 голосов
/ 17 августа 2010

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

FROM_UNIXTIME(r.unixtime)

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...