从匹配模式 postgresql 的字符串中删除字符
remove characters from the strings matching pattern postgresql
我在列中有一些包含字符“|”的文本元素以及紧随其后的其余部分我需要摆脱:
campaign
abc
fdg|3234
dfr|4567
我希望它看起来像:
campaign
abc
fdg
dfr
我试过了:
select replace (data_2_crm.campaign, '_|_', '' ) from data_2_crm
select trim (trailing '.*|' from campaign) from data_2_crm
select trim (trailing '%|' from campaign) from data_2_crm
没用。请帮忙!
使用split_part()
:
select t.*, split_part(campaign, '|', 1)
from data_2_crm;
对模式使用正则表达式替换 \|.*$
:
SELECT
campaign,
REGEXP_REPLACE(campaign, '\|.*$', '') AS new_campaign
FROM data_2_crm;
我在列中有一些包含字符“|”的文本元素以及紧随其后的其余部分我需要摆脱:
campaign
abc
fdg|3234
dfr|4567
我希望它看起来像:
campaign
abc
fdg
dfr
我试过了:
select replace (data_2_crm.campaign, '_|_', '' ) from data_2_crm
select trim (trailing '.*|' from campaign) from data_2_crm
select trim (trailing '%|' from campaign) from data_2_crm
没用。请帮忙!
使用split_part()
:
select t.*, split_part(campaign, '|', 1)
from data_2_crm;
对模式使用正则表达式替换 \|.*$
:
SELECT
campaign,
REGEXP_REPLACE(campaign, '\|.*$', '') AS new_campaign
FROM data_2_crm;