mysql trim()不工作

fquxozlt  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(829)

我不知道为什么但是 TRIM() 或者 RTRIM() 不是为我工作。

SELECT TRIM('YV4.3x2.8SA-2 ');

他回来了 'YV4.3x2.8SA-2 ' .
我无法删除所有空格,因为字符串之间可能包含空格。

ijxebb2r

ijxebb2r1#

最后一个角色是 0xC2A0 ,不是 0x20 (空格)。这就是unicode码位u+00a0的utf-8编码,也称为不间断空格。
要移除这些,请使用 TRIM() ,通过 convert(0xC2A0 using utf8mb4) 为了 remstr :

select TRIM(convert(0xC2A0 using utf8mb4) FROM 'YV4.3x2.8SA-2 ');

(sql小提琴演示)
如果可能混合了这些字符和空格,那么最简单的方法是首先用常规空格替换nbsp,然后将结果传递给其他人 TRIM() :

select TRIM(REPLACE('YV4.3x2.8SA-2 ', convert(0xC2A0 using utf8mb4), ' '));

(SQLFiddle演示,混合了空格)

x0fgdtte

x0fgdtte2#

试试这个 SELECT TRIM(BOTH ' ' FROM 'YV4.3x2.8SA-2 ');

相关问题