2015-11-07 24 views
0
mysql> SELECT STRCMP('_', 'a'); 

返回1,而它應該返回-1。帶下劃線的MySQL STRCMP不能正常工作

ASCII code of '_' (underscore) is 95, and ascii code of 'a' is 97

在其他語言,如Python和節點它返回正確的答案。

任何線索這裏有什麼問題?

爲什麼MySQL對待不同的下劃線?

回答

1

發現此問題。

STRCMP()不區分大小寫的比較,在這裏我需要 區分大小寫的比較。

mysql> STRCMP('_', 'a' COLLATE utf8_bin); 

返回正確的答案-1