我不知道为什么但是 TRIM() 或者 RTRIM() 不是为我工作。
TRIM()
RTRIM()
SELECT TRIM('YV4.3x2.8SA-2 ');
他回来了 'YV4.3x2.8SA-2 ' .我无法删除所有空格,因为字符串之间可能包含空格。
'YV4.3x2.8SA-2 '
ijxebb2r1#
最后一个角色是 0xC2A0 ,不是 0x20 (空格)。这就是unicode码位u+00a0的utf-8编码,也称为不间断空格。要移除这些,请使用 TRIM() ,通过 convert(0xC2A0 using utf8mb4) 为了 remstr :
0xC2A0
0x20
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演示,混合了空格)
x0fgdtte2#
试试这个 SELECT TRIM(BOTH ' ' FROM 'YV4.3x2.8SA-2 ');
SELECT TRIM(BOTH ' ' FROM 'YV4.3x2.8SA-2 ');
2条答案
按热度按时间ijxebb2r1#
最后一个角色是
0xC2A0
,不是0x20
(空格)。这就是unicode码位u+00a0的utf-8编码,也称为不间断空格。要移除这些,请使用
TRIM()
,通过convert(0xC2A0 using utf8mb4)
为了remstr
:(sql小提琴演示)
如果可能混合了这些字符和空格,那么最简单的方法是首先用常规空格替换nbsp,然后将结果传递给其他人
TRIM()
:(SQLFiddle演示,混合了空格)
x0fgdtte2#
试试这个
SELECT TRIM(BOTH ' ' FROM 'YV4.3x2.8SA-2 ');