Redshift数据库拆分逗号分隔hashtag列转行的SQL语句查询
Redshift拆分逗号分隔Hashtag为多行的SQL语句
原表结构及数据
| id | 反馈日期 | 反馈内容 | hashtags |
|---|---|---|---|
| 123 | 2023-05-20 | 这很不错 | #good,#useful |
目标结构
| id | 反馈日期 | 反馈内容 | hashtags |
|---|---|---|---|
| 123 | 2023-05-20 | 这很不错 | #good |
| 123 | 2023-05-20 | 这很不错 | #useful |
你可以使用Redshift内置的REGEXP_SPLIT_TO_TABLE函数实现字符串拆分多行的需求,对应的SQL语句如下:
SELECT t.id, t.反馈日期, t.反馈内容, TRIM(s.hashtag) AS hashtags FROM 你的表名 t, REGEXP_SPLIT_TO_TABLE(t.hashtags, ',') AS s(hashtag)
说明
REGEXP_SPLIT_TO_TABLE会将hashtags字段按逗号拆分,把每个元素转化为独立行TRIM用于处理拆分后可能存在的空格(适配#good, #useful这类带空格的格式)- 替换语句中的
你的表名为实际表名即可使用
内容的提问来源于stack exchange,提问作者Raymond Chau
相关产品推荐
相关产品推荐

