Если вы используете SQL Server 2016 или новее, вы можете использовать at time zone
.
Чтобы повернуть дату * ut2410 в заданный часовой пояс, вы можете сделать :
select t.ts at time zone 'utc' at time zone t.tz from t
Где ts
- это столбец, содержащий datetime
, а tz
- действительный часовой пояс места назначения (список поддерживаемых часовых поясов можно найти в sys.time_zone_info ).
Демонстрация на DB Fiddle :
with t as (
select
cast('2020-02-29 12:02:05' as datetime) ts,
'Central European Standard Time' tz
)
select ts, tz, ts at time zone 'utc' at time zone tz ts_in_paris from t
GO
ts | tz | ts_in_paris
:---------------------- | :----------------------------- | :--------------------------
2020-02-29 12:02:05.000 | Central European Standard Time | 2020-02-29 13:02:05.0000000