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

Databricks中拆分多账户字符串为单行单账户的SQL需求

解决方案(Databricks Spark SQL)

可以通过拆分字符串、行转列、提取纯账户号三个步骤实现需求,具体SQL如下:

SELECT DISTINCT
  ID,
  regexp_extract(account_item, '^(\\d+)', 1) AS Account
FROM
  source_table
LATERAL VIEW
  split(Account, ',') exploded_table AS account_item
WHERE
  regexp_extract(account_item, '^(\\d+)', 1) != '';

代码说明:

  • 拆分并炸开字符串:用split(Account, ',')把逗号分隔的账户字符串拆成数组,再通过LATERAL VIEW explode将数组的每个元素转为单独行,得到每个ID对应的所有账户条目(包括带后缀的)。
  • 提取纯账户号:用regexp_extract配合正则^(\d+),提取每个账户条目中开头的数字部分,自动去掉-Michigan这类后缀。
  • 去重:加DISTINCT去掉同一ID下重复的账户号(比如源数据中1532214对应的109388和109388-Michigan处理后会重复,去重后只保留一条),符合“账户重复无影响”的要求。
  • 过滤空值:WHERE子句过滤掉可能的无效条目,避免拆分后出现空字符串的情况。

测试验证

用你提供的源数据测试,执行后会得到期望的输出结果:

IDAccount
1532214109388
646729109064
646729134089
434239652164
434239654158
434239156848
4342396541635
434239654615
4342395451651

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 09:06:01