如何在Postgresql数据库中修剪字符串中的某些字符?

时间:2016-09-28 19:39:01

标签: postgresql

我在db中有一个表格,如下所示:

TableA:

  ID               ID2    Text
0 64556-546-1    465846    adfadf    
1 64556-546-1    465846    adfadf
2 64556-546-1    465846    adfadf

我想仅在第一列中修剪破折号后的符号( - )和数字,而只修改第二列中的破折号,我该如何处理?所以数字看起来像64556-546。

该值将与另一个表中的另一个值进行比较,因此无需创建另一个列。

提前谢谢你。

1 个答案:

答案 0 :(得分:1)

我在这里查看;

https://www.postgresql.org/docs/9.1/static/functions-string.html

并做一个;

regexp_replace(字符串文本,模式文本,替换文本[,标记文本])

这样做的一种方法(忽略可能的性能问题)将是;

SELECT TRIM(BOTH' -1' FROM regexp_replace(ID,' [ - ]',''))来自TableA

但你可以使用更高级的正则表达式来构建更好的方法。