Я использую timestamp(3) with time zone
в своей базе данных для таблиц, когда это необходимо, это почти любой случай в моей ситуации.
Мне нужно выбрать все столбцы таблицы, возможно, в гораздо более сложном запросе, чем следующие.
Мой вопрос заключается в том, как получить временные метки (с часовым поясом) в нужном часовом поясе с помощью SQL at time zone '<TIMEZONE>'
для выражения выбора типа q.*
, одним из которых является столбец временной метки (с часовым поясом).
У меня могут быть подзапросы с одинаковой ситуацией.
Есть ли выражение для достижения этого для запроса?
SELECT
q.*, -- created_at timestamp (with time zone) is already in here
q.created_at AT TIME ZONE 'EET', --instead of this redundant column selection
u.name AS author,
u.reputation,
CASE WHEN count(t.*)=0 THEN '[]' ELSE json_agg(t.*) END as tags
FROM posts q
-- authors
JOIN users u
ON q.author_id = u.id
-- tags
left join post_has_tag p_h_t
on q.id = p_h_t.post_id
left join tags t
on p_h_t.tag_id = t.id
WHERE q.post_type = 'question'
group by q.id, u.id;