首页 > 解决方案 > 在标准 SQL BigQuery 中舍入到最接近的 MINUTE 或 HOUR

问题描述

如here所述,有一些简单的短方法可以将 T-SQL 舍入到最接近的 MINUTE 。

我希望为标准 SQL 获得相同的简短语法。

标签: google-bigquery

解决方案


以下是 BigQuery 标准 SQL

#standardSQL
WITH `project.dataset.table` AS (
  SELECT DATETIME '2018-01-01 01:05:56' input_datetime 
)
SELECT input_datetime,
  DATETIME_TRUNC(input_datetime, MINUTE) rounded_to_minute,
  DATETIME_TRUNC(input_datetime, HOUR) rounded_to_hour
FROM `project.dataset.table`   

结果为

Row     input_datetime          rounded_to_minute       rounded_to_hour  
1       2018-01-01T01:05:56     2018-01-01T01:05:00     2018-01-01T01:00:00  

对于TIMESTAMPTIME数据类型 - 您可以分别使用 - TIMESTAMP_TRUNC()TIME_TRUNC()


推荐阅读