将五个小时添加到时间戳字段

Posted

技术标签:

【中文标题】将五个小时添加到时间戳字段【英文标题】:Add five hours to timestamp field 【发布时间】:2016-08-08 20:22:10 【问题描述】:

我想添加几个小时,例如:5 小时 30 分钟到使用 bigquery 的时间戳字段。我的时间戳字段格式为 - '2016-05-03 21:35:03'

如何在 bigquery 中执行此操作?

【问题讨论】:

【参考方案1】:

为了完整起见,等效的 standard SQL 查询(取消选中“显示选项”下的“使用旧版 SQL”)将是:

WITH T AS (
  SELECT ts
  FROM UNNEST([CURRENT_TIMESTAMP(),
               TIMESTAMP("2016-05-03 21:35:03")]) AS ts)
SELECT TIMESTAMP_ADD(ts, INTERVAL 330 MINUTE) AS ts_plus_530
FROM T;
+---------------------+
|     ts_plus_530     |
+---------------------+
| 2016-08-09 04:18:05 |
| 2016-05-04 03:05:03 |
+---------------------+

TIMESTAMP_ADD 的文档在这里:https://cloud.google.com/bigquery/sql-reference/functions-and-operators#timestamp_add

【讨论】:

【参考方案2】:
SELECT 
  ts, 
  DATE_ADD(ts, 330, "MINUTE") AS ts_plus_530 
FROM 
  (SELECT CURRENT_TIMESTAMP() AS ts),
  (SELECT TIMESTAMP("2016-05-03 21:35:03") AS ts)

详情请见DATE_ADD

【讨论】:

这仅适用于旧版 SQL - 请参阅 @Ellot Brossard 对标准 SQL 解决方案的回答

以上是关于将五个小时添加到时间戳字段的主要内容,如果未能解决你的问题,请参考以下文章

将 SQL Server 中 datetime 字段的默认值添加到时间戳

将日期添加到时间戳

将浮点列添加到时间戳类型列(秒+毫秒)

js 怎么取到时间戳里面的月份?

石墨——如何将数据发送到时间戳超过一年的碳

BigQuery:字符串到时间戳