BigQuery возвращает не подходящую подпись - PullRequest
0 голосов
/ 10 декабря 2018

Я хочу выполнить запрос на консоли BigQuery, который выглядит следующим образом

where created > DATE_SUB(CURRENT_DATE(), interval 7 day)

Я получил ошибку

No matching signature for operator > for argument types: TIMESTAMP, DATE. Supported signatures: ANY > ANY at [3:7]

Чего мне здесь не хватает?

1 Ответ

0 голосов
/ 10 декабря 2018

Вы используете оператор > для сравнения двух разных типов, отметки времени и даты, что приводит к ошибке.Если вы хотите просмотреть семь дней в прошлом, вы должны использовать этот фильтр:

where created > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), interval 7 day)

Если вы хотите просмотреть семь дней в прошлом, но возвращать только строки, начинающиеся в полночь по UTC, используйте этотфильтр:

where DATE(created) > DATE_SUB(CURRENT_DATE(), interval 7 day)

Разница в том, что первый фильтр сравнивает фактические временные метки, которые включают в себя время суток, а второй сравнивает даты, которые не имеют временной части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...