Ich kenne dein eigentliches Problem nicht, aber das was du da machst scheint mir ein Workaround zu sein, den man bestimmt besser lösen kann. Vermutend, dass du Zeiten aus der Zone GMT-1 hast und deine Ortszeit haben willst (und die Timezone-Tabellen geplegt sind), wäre das mit CONVERT_TZ():
ja deine vermutung ist richtig
SELECT convert_tz('2009-02-01 12:00:00', 'Etc/GMT-1', 'Europe/Vienna') -- 12 Uhr
SELECT convert_tz('2009-05-01 12:00:00', 'Etc/GMT-1', 'Europe/Vienna') -- 13 Uhr
"funzt nicht" - ich bekomme als resultat leider NULL (lt. doku liegt das am fehlenden timezone-support)
kommt aber auf jeden fall ins anmerkheft, danke