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

如何编写PostgreSQL与Python语句将原始表清洗转换为目标结果表?

PostgreSQL拆分日期字符串并关联user_id的解决方法

假设你的原始表结构类似这样:

  • user_id:用户唯一标识
  • dates:存储多个日期的字符串字段(例如用逗号分隔:'2024-01-01, 2024-01-03, 2024-01-05')

要实现每个user_id对应拆分后的单个日期,只需要在查询中保留user_id,同时对dates字段执行拆分+清洗操作即可,核心SQL示例如下:

SELECT
    user_id,
    trim(unnest(string_to_array(dates, ','))) AS single_date
FROM
    你的原始表名;

关键说明:

  • string_to_array(dates, ','):把日期字符串按逗号拆分成数组
  • unnest(...):把数组的每个元素拆分成单独的行
  • trim(...):去除每个日期字符串前后的空格(如果你的分隔符后有空格的话)

进阶处理(可选):

如果存在dates字段为空或拆分后出现空值的情况,可以添加过滤条件避免无效行:

SELECT
    user_id,
    trimmed_date AS single_date
FROM
    你的原始表名,
    unnest(string_to_array(dates, ',')) AS raw_date,
    trim(raw_date) AS trimmed_date
WHERE
    trimmed_date <> ''; -- 过滤掉空的日期行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:50:10