问题的大背景介绍:
今天在SQL里面处理一个字段时,group by的时候发现这个field里面字符串同样是"Word Quiz" 但却没有被group by。于是一个跌宕起伏的解决小问题的故事开始了。
1.1怀疑是前后有空格导致的,所以想查询下字符的长度,果然如图所示,一个字符串长度9,另外一个字符串长度是10💆
field |
length(field) |
Word Quiz |
9 |
Word Quiz |
10 |
1.2 怀疑是空格,tab等特殊字符,于是分别使用CHAR(9),CHAR(10),CHAR(13)等进行了替换,发现替换后的字符串长度依然不相同,当然group by后依然有问题😕
‘ ’ 空格
char(9) tab键(水平制表符)
char(10) 换行(跳到下一个新行)
char(13) 回车(将打印光标移动到最左边)
‘\r\n’ 换行回车(将光标移动到下一行的最左边)
1.3尝试通过转码的方式,看下特殊字符是什么 Â字符,然后尝试替换Â,但这个应该是特殊字符,所以没有找到替换的方法😵