我在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。
该值将与另一个表中的另一个值进行比较,因此无需创建另一个列。
提前谢谢你。
答案 0 :(得分:1)
我在这里查看;
https://www.postgresql.org/docs/9.1/static/functions-string.html
并做一个;
regexp_replace(字符串文本,模式文本,替换文本[,标记文本])
这样做的一种方法(忽略可能的性能问题)将是;
SELECT TRIM(BOTH' -1' FROM regexp_replace(ID,' [ - ]',''))来自TableA
但你可以使用更高级的正则表达式来构建更好的方法。