如何在BigQuery中将毫秒转换为毫秒?

时间:2019-11-13 21:32:52

标签: sql google-bigquery

我正在尝试从时间戳中删除毫秒,并以此取整。


From this: 2019-11-11 19:10:57.981 UTC
To this: 2019-11-11 19:10:58 UTC```

Yes, I want the second rounded when truncated. 


1 个答案:

答案 0 :(得分:2)

以下是用于BigQuery标准SQL

#standardSQL
SELECT TIMESTAMP_TRUNC(TIMESTAMP_ADD(ingest_time, INTERVAL 500 MILLISECOND), SECOND)
FROM `project.dataset.table`

您可以使用下面的示例中的虚拟数据来测试,玩游戏

#standardSQL
WITH `project.dataset.table` AS (
  SELECT TIMESTAMP '2019-11-11 19:10:57.981 UTC' ingest_time UNION ALL
  SELECT '2019-11-11 19:10:57.381 UTC'
)
SELECT TIMESTAMP_TRUNC(TIMESTAMP_ADD(ingest_time, INTERVAL 500 MILLISECOND), SECOND)
FROM `project.dataset.table`   

有结果

Row f0_  
1   2019-11-11 19:10:58 UTC  
2   2019-11-11 19:10:57 UTC