Настройка временной метки с часовым поясом

Я использую postgres, и у меня есть метка времени без часового пояса и смещения часового пояса в виде «-2». Как применить смещение к часовому поясу? Я знаю, что что-то вроде даты - интервал "2 часа" будет работать для фиксированного смещения, но я не смог понять, как это сделать с переменной из другого столбца.


person st2 tas    schedule 02.05.2018    source источник
comment
Можете ли вы опубликовать некоторые образцы данных? Как входы, так и ожидаемые результаты. Каков формат переменной из другого столбца?   -  person BShaps    schedule 02.05.2018
comment
2015-10-17 05:33:09 и -5, и я хочу, чтобы это было 2015-10-17 00:33:09   -  person st2 tas    schedule 02.05.2018


Ответы (1)


Что-то вроде этого должно помочь вам:

CASE WHEN offset_var > 0 THEN timestamp_no_tz + (offset_var || ' hour')::INTERVAL 
WHEN offset_var < 0 THEN timestamp_no_tz - (abs(offset_var) || ' hour')::INTERVAL 
ELSE timestamp_no_tz END
person BShaps    schedule 02.05.2018