0
mysql> SELECT STRCMP('_', 'a');
返回1,而它应该返回-1。带下划线的MySQL STRCMP不能正常工作
ASCII code of '_' (underscore) is 95, and ascii code of 'a' is 97
。
在其他语言,如Python和节点它返回正确的答案。
任何线索这里有什么问题?
为什么MySQL对待不同的下划线?
mysql> SELECT STRCMP('_', 'a');
返回1,而它应该返回-1。带下划线的MySQL STRCMP不能正常工作
ASCII code of '_' (underscore) is 95, and ascii code of 'a' is 97
。
在其他语言,如Python和节点它返回正确的答案。
任何线索这里有什么问题?
为什么MySQL对待不同的下划线?
发现此问题。
STRCMP()不区分大小写的比较,在这里我需要 区分大小写的比较。
mysql> STRCMP('_', 'a' COLLATE utf8_bin);
返回正确的答案-1
。