Trim PostgreSql 中出现的所有字符

Trim all occurences of a character in PostgreSql

我正在尝试从属性 salary 的值中删除所有零。 我正在使用 TRIM 函数(通过将 salary 类型转换为 TEXT)。 TRIM 函数不会删除中间的 0,例如,如果我在 809800 上使用它,结果是 '8098'。中间的'0'还在。 这是我正在做的事情:

提前致谢。

为此使用 replace()

demo:db<>fiddle

SELECT replace('01000200330004000', '0', '')

或用于您的 salary 列:

SELECT replace(salary, '0', '')

您也可以使用 translate()

select translate(salary, '0', '')

对于一个字符来说,这就像replace()。但是,这可以更好地概括为多个字符。您可以只列出字符而不是嵌套调用 replace().