MySql - SELECT TimeStamp Column в формате UTC
В моей базе данных Mysql 5.0 у меня есть столбец для контроля информации LastUpdated. Столбец - это данные TimeStamp one и MySql для автоматического обновления.
Я пытаюсь выбрать этот столбец в формате UTC.
Проблема заключается в том, что сервер настроен на дату и время в США. Согласно документации MySql, БД хранит информацию в формате UTC, но когда я хочу отображать информацию, она преобразует ее в серверное время.
Есть ли способ сделать команду SELECT, избегая этого преобразования?
Ответы
Ответ 1
Помимо изменения часового пояса по умолчанию для сервера, часовой пояс можно также настроить для каждого соединения, выполнив этот оператор SQL:
SET time_zone = timezone;
Если часовой пояс - это имя часового пояса (см. MySQL docs).
Кроме того, вы также можете преобразовать временную метку в другой часовой пояс, используя функцию CONVERT_TZ
.
Ответ 2
SELECT
CONVERT_TZ(`timestamp_field`, @@session.time_zone, '+00:00') AS `utc_datetime`
FROM `table_name`
Я сделал чит-коды здесь: Должен ли MySQL установить часовой пояс в UTC?