В SQL-запросе (BigQuery) Как получить все строки, где CreatedDatetime — «Сегодня в Москве tz», из столбца с UTC tz?

У меня есть таблица со столбцом CreatedDatetime. Этот столбец находится в часовом поясе UTC (значения выглядят так:
20.12.2020 01:00:00 UTC). Мне нужно получить все строки, где дата сегодня, но в европейском/московском часовом поясе, что составляет +3 часа. Вместо

SELECT TIMESTAMP_ADD(TIMESTAMP_TRUNC(CreatedDatetime, HOUR), INTERVAL 3 HOUR) AS date_hour_msk
FROM table_name
WHERE DATE(CreatedDatetime) = CURRENT_DATE('Etc/GMT')

Мне нужно что-то вроде этого:

WHERE CreatedDatetime >= 'yesterday 21:00:00' AND Created <= 'today 21:00:00'.
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
270
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

В Bigquery вы можете преобразовать временную метку UTC в локальный часовой пояс следующим образом:

TIMESTAMP(CreatedDatetime, 'Europe/Moscow')

Предположительно, вы хотите что-то вроде:

select TIMESTAMP(CreatedDatetime, 'Europe/Moscow') as local_time
from table_name
where DATE(CreatedDatetime, 'Europe/Moscow') = CURRENT_DATE('Europe/Moscow')

Вам нужно что-то вроде этого

WHERE DATE(CreatedDatetime, "+03:00") = CURRENT_DATE("+03:00")

Другие вопросы по теме