输入计算为无效时间:大查询中的24:00:00

时间:2019-02-11 17:16:16

标签: sql google-bigquery legacy-sql

我正在运行一个查询,以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或更长时间进行计算

2 个答案:

答案 0 :(得分:2)

以下是用于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`

答案 1 :(得分:1)

这对于ThreadPoolExecutor数据类型可以正常工作:

time

我建议您将这种结构用于表情。