如何根据确切的时间戳查找数据

DiSt8885

我正在尝试通过timestamp在BigQuery中获取数据行'2018-12-08 00:00:42.808 America/Los_Angeles'这适用于between子句。例如,timestamp BETWEEN '....00:00:42.808...' AND '....00:00:42.809...'

但是,当我只想做的时候我什么都找不到timestamp = '....00:00:42.808...'我不确定为什么会这样,对于这种特殊情况,我似乎在Google上找不到很多答案。

小伙子

Google BigQuery中的时间戳非常准确,因此您的查询可能未完全匹配表中的时间戳。如果要以毫秒,秒或任何舍入级别达到时间戳,可以使用TIMESTAMP_TRUNC函数。使用此功能,您可以拥有如下的where子句:

where TIMESTAMP_TRUNC(timestamp, millisecond, 'America/Los_Angeles')='2018-12-08 00:00:42.808 America/Los_Angeles'

这将为您提供预期的毫秒级结果。您可以从https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators找到有关TIMESTAMP_TRUNC和其他BigQuery函数的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章