Supponendo che tu conosca l'offset tra UTC e il fuso orario in cui sono archiviati i dati, è piuttosto semplice:
DECLARE @offset INT;
SET @offset = <offset>;
UPDATE table SET col = DATEADD(HOUR, @offset, col);
Nota che potrebbe essere negativo o positivo, non ho idea di quale parte di Greenwich tu sia.
Ovviamente questo diventa più complicato se ci si trova in un fuso orario che osserva l'ora legale; in questo caso potrebbe essere necessaria una soluzione più ampia come l'utilizzo di una tabella calendario. Ciò è particolarmente complesso se i tuoi dati risalgono a prima che George Bush cambiasse le regole dell'ora legale americana, ad esempio. Ho un articolo di molto tempo fa che potrebbe essere utile ; una serie più recente è qui:
- Gestire la conversione tra fusi orari in SQL Server - parte 1
- Gestire la conversione tra fusi orari in SQL Server - parte 2
- Gestire la conversione tra fusi orari in SQL Server - parte 3
Inoltre se uno qualsiasi dei tuoi dati cade in quella finestra tra le 00:00 e le 2:00 di un giorno di primavera avanti/indietro, dove non sono mai sicuro se sia giusto cambiarlo perché è il giorno del cambio o non cambiare perché sono le 2 del mattino.