You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery中UNNEST(GENERATE_TIMESTAMP_ARRAY)语法错误如何修复

错误原因

BigQuery不支持在SELECT字段列表中直接调用UNNEST函数,UNNEST作为表生成函数,必须放在FROM子句中使用。


修正后代码

CREATE TABLE new_table AS
SELECT 
  patient_id, 
  time_slot AS time
FROM parent_table,
UNNEST(GENERATE_TIMESTAMP_ARRAY(min_time, max_time, INTERVAL 4 HOUR)) AS time_slot
ORDER BY patient_id, time

上述代码中的逗号是CROSS JOIN的简写,会将原表每行对应的时间数组展开为多行,每行对应一个4小时的时间点,完全满足你每个时段单独一行的需求。


可选调整

如果你的业务逻辑不需要将出院时间戳本身作为单独一行(例如出院当日时段不计算在内),可以调整生成数组的结束参数,过滤掉出院时间点:

GENERATE_TIMESTAMP_ARRAY(min_time, TIMESTAMP_SUB(max_time, INTERVAL 4 HOUR), INTERVAL 4 HOUR)

内容的提问来源于stack exchange,提问作者Flemming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 13:54:03