У меня есть следующее WHERE
условие:
order_date between date_add(
CAST(concat( YEAR(current_timestamp()), '-',
MONTH(current_timestamp()), '-',
DAY(current_timestamp()),' ',
hour(current_timestamp())) as datetime) ,interval -1 hour)
and
CAST(concat( YEAR(current_timestamp()), '-',
MONTH(current_timestamp()), '-',
DAY(current_timestamp()), ' ',
hour(current_timestamp())) as datetime)
Это условие хорошо работает на MySQL, но не работает на BigQuery.Это дает:
Error: Function not found: YEAR
Я не понимаю эту ошибку, поскольку YEAR
есть SQL standard
- BigQuery ее поддерживает.
В чем здесь проблема?(Я ищу стандартное решение SQL)
Я полагаю, что есть и лучшие способы достижения этого условия, поэтому любые предложения по улучшению приветствуются.
Пример: Расчет занимает current_timestamp()
и вычисляется на 1 час раньше, поэтому:
, если current_timestamp() = 2018-12-17 11:42:52
, то он дает:
Between `2018-12-17 10:00:00` and `2018-12-17 11:00:00`