Postgresql,删除字符串中的字符

时间:2017-06-25 18:37:00

标签: sql postgresql

我是PostgreSQL的新手,我正在尝试创建一个清理表中某些列的查询。 “清理”是指删除某个符号之前或之后的所有字符。

我在名为“Adwords”的表格中有一个名为“Campaign”的列。该列在所有行中都有此字符串/结构,DE-SRC-Brand。我想在本专栏中保留的唯一地方是Brand目前所处的位置。我之前通过excel手动完成了这一操作,只需进行简单的搜索,并将“* - ”替换为搜索条件。

这个公式将如何转换为PostgreSQL?如果我想删除某个指定符号前面的字符,它会如何改变呢?如果有任何不清楚的地方,请告诉我,因为我还是这个项目的新手。

1 个答案:

答案 0 :(得分:0)

如果要提取品牌,可以使用substring()模式:

select substring(campaign from '%-%-#"%#"' for '#') as brand
from adwords;

您可以将其合并到update

update adwords
    set campaign = substring(campaign from '%-%-#"%#"' for '#')
    where campaign like '%-%-%';