Trim teradata 中的内部空白

Trim inner blanks in teradata

您如何 trim teradata 中的空格?需要写程序吗?

您可以为此使用 replace() 技巧。 . .

select replace(replace(replace(col, ' ', '<>'), '><', ''), '<>', ' ')

这将获取一个字符串,例如 'a b',然后生成:

  • a<><>b
  • a<>b
  • 一个 b

注意:它还会将开头和结尾的多个 space 减少为单个 space。你的问题没有具体说明在这种情况下该怎么做。

OREPLACE 可以作为来自 Teradata Dev Exchange 的 UDF 安装在 TD 14.x 之前的版本中,它作为 TD 14.0 或 TD 14.10 周围的本机函数出现:

SELECT OREPLACE(colA, ' ', ''); -- Replace all whitespace, leading and trailing included

或者您可以使用 REGEX_REPLACE,如果您的 Teradata 版本支持:

SELECT REGEX_REPLACE(colA, '[@\s+]', '', 1, 0, 'i');