hive-日期拆分为多行
代码
SELECT begin_date,
date_add(begin_date, tmp.pos),
end_date,
d_days,
tmp.pos,
tmp.val
FROM (
SELECT begin_date,
end_date,
DATEDIFF(end_date, begin_date) AS d_days
FROM (
SELECT '2025-08-01' AS begin_date,
'2025-08-10' AS end_date
) a
) b LATERAL VIEW posexplode(split(space(d_days), '')) tmp AS pos,
val
结果
begin_date_col1end_dated_dayspos
2025–08–012025–08–012025–08–1090
2025–08–012025–08–022025–08–1091
2025–08–012025–08–032025–08–1092
2025–08–012025–08–042025–08–1093
2025–08–012025–08–052025–08–1094
2025–08–012025–08–062025–08–1095
2025–08–012025–08–072025–08–1096
2025–08–012025–08–082025–08–1097
2025–08–012025–08–092025–08–1098
2025–08–012025–08–102025–08–1099





