Postgres 中的字符串函数不能将不间断空格识别为空格,无论是在修剪时还是在使用正则表达式时:
select 'x' || test || 'x', 'x' || trim(test) || 'x', 'x' || regexp_replace(test, '\s+', '') || 'x' from
(values
(''),
(' '),
(' y '),
('s s s s')
) as foo(test)
(不确定上面的代码中非中断( )是否仍然存在,但最后两行包含 nbsp) Onecompiler SQL 演示
Postgres 不处理这个问题,还是说这是一个 bug?我知道 char(160) nbsp,但我更喜欢通用的方法来去除所有空格
使用的排序规则是 en_US.utf8
是的,不间断空格(
char(160)
)不是空格。但您可以指定从文本中删除自定义字符以实现
TRIM()
功能。– Akina