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

Snowflake中实现日期时间相关列的Unpivot转换方法咨询

Snowflake 数据行转置解决方案

可以通过UNION ALL将每行的两个活动条目拆分并合并,同时过滤空值,确保活动ID、开始/结束时间的对应关系完全匹配:

SELECT 
    ID,
    act1 AS act_ID,
    act1_st AS start,
    act1_end AS end
FROM your_table_name
UNION ALL
SELECT 
    ID,
    act2 AS act_ID,
    act2_st AS start,
    act2_end AS end
FROM your_table_name
WHERE act2 IS NOT NULL
ORDER BY ID, start;

逻辑说明

  • 第一个SELECT提取每行的act1相关数据,生成独立的活动行
  • 第二个SELECT提取每行的act2相关数据,通过WHERE act2 IS NOT NULL过滤无活动的无效条目
  • UNION ALL合并两部分结果,最后按ID和start排序,输出结构与目标完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 23:25:00