输入计算到无效时间:大查询中的 24:00:00
Posted
技术标签:
【中文标题】输入计算到无效时间:大查询中的 24:00:00【英文标题】:Input calculates to invalid time: 24:00:00 in big query 【发布时间】:2019-02-11 17:16:15 【问题描述】:我正在运行查询以 24 小时格式显示时间,但是当我运行查询时,它计算的时间超过 23:59:59,而不是过去并将时间更改为 00:00:00,它给了我错误提示输入计算到无效时间:24:00:00。
FORMAT_TIME('%T',
TIME(DIV(sc.timestart, 60),
MOD(sc.timestart, 60),
0)) AS TimeFrom,
FORMAT_TIME('%k',
TIME(DIV(sc.timestart + sc.timeduration, 60),
MOD(sc.timestart + sc.timeduration, 60),
0)) AS TimeTo
错误输入计算到无效时间:24:00:00
Row ClassID TimeFrom timeduration Timeto_shouldBE
1 7786918 23:00:00 60
2 339893 23:00:00 30
3 4665919 23:00:00 60
4 7384955 23:00:00 60
5 6863540 23:30:00 30
6 2891444 23:30:00 30
试图从 23:00:00 到 00:00:00 或以后计算它
【问题讨论】:
【参考方案1】:以下是 BigQuery 标准 SQL
#standardSQL
SELECT ClassID,
TIME(TIMESTAMP_ADD(TIMESTAMP(CURRENT_DATE()), INTERVAL timestart MINUTE)) AS TimeFrom,
timeduration,
TIME(TIMESTAMP_ADD(TIMESTAMP(CURRENT_DATE()), INTERVAL timestart + timeduration MINUTE)) AS TimeTo
FROM `project.dataset.table`
【讨论】:
【参考方案2】:这适用于 time
数据类型:
select time_add(cast('23:00:00' as time), interval 120 minute)
我建议你使用这种结构来表达。
【讨论】:
以上是关于输入计算到无效时间:大查询中的 24:00:00的主要内容,如果未能解决你的问题,请参考以下文章