【发布时间】:2021-09-22 15:14:26
【问题描述】:
我在一些包含下一个字符串的表中有conversion 列:
9076635012/DOVE/603524/source:unilever/campaign:L-Unilever_Tresemme_SMM_jan-feb2021/content:video_18_Stories/medium:display
707663501/AXE/60364/source:unilever/campaign:AXE/term:instagram/medium:display
我想得到下一个结果:
| id | brand | code | source | campaign | content | term | medium |
|---|---|---|---|---|---|---|---|
| 9076635012 | DOVE | 603524 | unilever | L-Unilever_Tresemme_SMM_jan-feb2021 | video_18_Stories | NULL | display |
| 707663501 | AXE | 60364 | unilever | AXE | NULL | display |
我可以轻松拆分id, brand, code:
SELECT
split_part(a."conversion", '/', 1) as id,
split_part(a."conversion", '/', 2) as brand,
split_part(a."conversion", '/', 3) as code
如何拆分下一部分?模式是/attribute_name: 和/content: 一样,并认为其中一个部分可能不存在于第一行,但可以存在于第二行。如果可能的话
它不必是面向订单的。 campaign 可以在开头(紧跟在code 之后)或结尾。 id, brand, code 始终存在且始终具有相同的顺序。
我试过这样:
substring(split_part(a."conversion", '/source:', 2),'[^\/]') as source
但是获取u 作为来源。
【问题讨论】:
标签: sql postgresql