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

ksqlDB技术问询:如何将两个时间戳列间的每日数据拆分为多行?

可以实现,具体方案如下

你可以通过ksqlDB的DATE_SEQUENCE函数生成日期区间内的日期数组,再结合EXPLODE函数拆分数组为多行记录,完全匹配你的需求。

核心SQL语句

CREATE STREAM exploded_dates_stream AS
SELECT
  id,
  EXPLODE(DATE_SEQUENCE(startDate, endDate)) AS date
FROM mystream
EMIT CHANGES;

格式转换(可选)

如果需要将date字段转为YYYY-MM-DD格式的字符串,使用DATE_FORMAT函数处理即可:

CREATE STREAM exploded_dates_stream AS
SELECT
  id,
  DATE_FORMAT(EXPLODE(DATE_SEQUENCE(startDate, endDate)), 'yyyy-MM-dd') AS date
FROM mystream
EMIT CHANGES;

关键说明

  • DATE_SEQUENCE(startDate, endDate)会生成从起始日期到结束日期(包含两端)的每日日期数组,默认步长为1天,无需额外配置。
  • EXPLODE函数会将数组中的每个元素拆分为单独的记录,实现一行转多行的效果。
  • 该方案要求ksqlDB版本≥0.10,因为DATE_SEQUENCE函数是在这个版本引入的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 16:45:09