在 Netezza 中删除字符串中的字符集

Remove set of characters in a string in Netezza

我想从字段中删除以下所有字符:* - : .

目前我可以通过将 TRANSLATE 语句链接在一起来做到这一点,但我希望有更简单的方法。

输入

SELECT field FROM myTable
| field |
=========
| asdf* |
| as.df |
| a-sdf |
| :asdf |

期望的输出

| field |
=========
| asdf  |
| asdf  |
| asdf  |
| asdf  |

我的代码

SELECT TRANSLATE(TRANSLATE(TRANSLATE(TRANSLATE(field, '*', ''), '-', ''), ':', ''), '.', '')

translate() 需要更长的字符串:

select translate(field, '*-:.', '')

您可能会将它与 replace() 混淆,您需要在其中嵌套函数调用。