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');
您如何 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');