Google bigquery bigquery中的时间戳总和
如果有一个带有时间戳列和时间列的表,如:Google bigquery bigquery中的时间戳总和,google-bigquery,Google Bigquery,如果有一个带有时间戳列和时间列的表,如: +---------------------+----------+ | timestamp_col | time_col | +---------------------+----------+ | 2020-07-03 00:00:00 | 08:34:34 | +---------------------+----------+ 我想加上它们,得到一个时间戳列“2020-07-03 08:34:34”。我尝试过“timestamp_a
+---------------------+----------+
| timestamp_col | time_col |
+---------------------+----------+
| 2020-07-03 00:00:00 | 08:34:34 |
+---------------------+----------+
我想加上它们,得到一个时间戳列“2020-07-03 08:34:34”。我尝试过“timestamp_add”,但我必须将时间列拆分为小时、分钟和秒,然后一个接一个地添加它们,如下所示:
timestamp_add(
timestamp_add(
timestamp_add(timestamp_col
,INTERVAL CAST(FORMAT_TIME("%H", time_col) as INT64) HOUR)
,INTERVAL CAST(FORMAT_TIME("%M", time_col) as INT64) MINUTE)
,INTERVAL CAST(FORMAT_TIME("%S", time_col) as INT64) SECOND)
as timestamp_sum,
还有更直接的方法吗?下面是BigQuery标准SQL 假设timestamp_col的时间部分始终是“00:00:00”,正如您的示例中所示,您可以简单地执行以下操作
TIMESTAMP(DATETIME(DATE(timestamp_col), time_col))
如果上述关于“00:00:00”的假设不适用,请使用下面的
TIMESTAMP_ADD(timestamp_col, INTERVAL UNIX_SECONDS(TIMESTAMP(DATETIME(DATE(1970, 1, 1), time_col))) SECOND)
下面是BigQuery标准SQL 假设timestamp_col的时间部分始终是“00:00:00”,正如您的示例中所示,您可以简单地执行以下操作
TIMESTAMP(DATETIME(DATE(timestamp_col), time_col))
如果上述关于“00:00:00”的假设不适用,请使用下面的
TIMESTAMP_ADD(timestamp_col, INTERVAL UNIX_SECONDS(TIMESTAMP(DATETIME(DATE(1970, 1, 1), time_col))) SECOND)