Google BigQuery манипуляции с датой - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь выполнить запрос в Google BigQuery, где я вычитаю час из определенного времени. По какой-то причине я получаю сообщение об ошибке «DATE_SUB не поддерживает часть даты HOUR» со строкой кода ниже: (встроено в более крупный оператор sql)

DATE_SUB(t2.time, INTERVAL -1 HOUR)

Я также попробовал DATE_ADD следующим образом:

DATE_ADD(t2.click_time, -1, 'hour')

но я получаю ошибку "ожидаемое выражение INTERVAL at ..."

У кого-нибудь есть предложения по решению этой проблемы?

Я использую стандартный SQL (использование устаревшего sql не проверено).

Спасибо!

1 Ответ

0 голосов
/ 04 мая 2018

вы должны использовать DATETIME_SUB() вместо

#standardSQL
SELECT 
  CURRENT_DATETIME(), 
  DATETIME_SUB(CURRENT_DATETIME(), INTERVAL 1 HOUR)

если у вас есть поле в качестве TIMESTAMP - используйте TIMESTAMP_SUB ()

#standardSQL
SELECT 
  CURRENT_TIMESTAMP(), 
  TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)      
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...