我正在使用mysql和collationutf8mb4_general_ci
。
我尝试了以下问题:SELECT cid, cname from cust1 order by cname desc
结果是:
cid cname
3 bbb
1 abc
2 ABC
这种排序类型(小写字母按降序排列)是在上面的排序规则中设置的吗?
如果我运行以下查询:
SELECT cid, cname from cust1 order by cname
结果是:
cid cname
1 abc
2 ABC
3 bbb
再次以升序排列,小字母排在第一位。我不明白。请给我解释一下。
如何更改数据库排序规则?
最佳答案
mysql正在输出它遇到的第一个条目,因为在本例中,它认为“abc”与“abc”相同。
您可以尝试ascii()函数,例如“order by cname desc,ascii(cname)desc”。
我认为您可以使用alter table更改字符排序规则,如下所示:
“alter table cust1 character set latin1 collate latin1_swedish_ci”或任何你想要的字符集。
关于mysql - 通过在mysql中使用order by子句按字母顺序对小写字母和大写字母进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34037124/