Necesito convertir un db existente (campos de fecha y hora) de la hora local ut UTC.Mysql: Convertir la base de datos de la hora local a UTC
Los valores se almacenan ad datetimes en un servidor con zona horaria CET (+1) (con horario de verano +2). Al seleccionar datos, uso UNIX_TIMESTAMP()
, que mágicamente compensa todo, es decir, cambio de zona horaria y dst (si he leído bien los documentos).
Moveré el db a un nuevo servidor con UTC como hora del sistema.
Simplemente restar -1 H no funcionará, ya que el horario de verano es +2.
¿Alguna idea de una forma inteligente de hacerlo? (usando sql o algún script lang)
Hola, sé que ha pasado un tiempo desde que respondiste, pero por alguna razón esa declaración seleccionada no funciona para mí ... Revisé el documento y puedo obtener 'SELECT CONVERT_TZ ('2004-01-01 12 : 00: 00 ',' + 00:00 ',' + 10:00 '); ', pero no lo que describiste arriba ... ¿hay algo que me falta? Sigo obteniendo nulo por eso. – KVISH
@kalvish, es probable que solo tengas que completar la tabla mysql.time_zone_name. Intente ejecutar este comando en el shell para completar esa tabla: 'mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql -u root mysql' –
SELECCIONE CONVERT_TZ ('2017-02-15 08:00:00', "UTC", "CST"); return null – wyx