我正在尝试(并且失败)使用标准SQL在BigQuery中执行以下查询
SELECT
user_id
FROM
dataset.table
WHERE
timestamp > TIMESTAMP("2017-09-18 00:00")
我经常收到消息
Query Failed
Error: Invalid timestamp: '2017-09-18 00:00'
我试图绝望地使用 2017-09-18T00:00
或者像Legacy SQL timestamp > "2017-09-18 00:00"
一样没有成功 .
谢谢你的帮助 .
3 回答
我认为有效时间戳的时间部分包含小时,分钟和秒 . 您的时间戳文字省略了秒部分 . 尝试包括它:
您需要在时间戳中包含秒数以及当前时间戳没有意义的原因是BigQuery内部将时间戳存储为纪元秒 . 如果不指定秒数,则无法可靠地存储时间戳 .
从documentation:
正如documentation of bigquery所暗示的那样
您已提供
2017-09-18 00:00
,即YYYY-MM-DD HH:MM
. 您需要提供2017-09-18 00:00:00
.因此,您的查询应如下所示
在不指定额外零的情况下编写此表达式的另一种方法是: