如果在MySQL RDBMS中区分大小写,我如何订购username
列值?
表格结构和数据:
╔══════╦════════════╦════════╗
║ id ║ username ║ name ║
╠══════╬════════════╬════════╣
║ 1 ║ adam ║ test ║
║ 2 ║ Ben ║ test1 ║
║ 3 ║ Aron ║ test2 ║
║ 4 ║ charles ║ test3 ║
╚══════╩════════════╩════════╝
期望的结果:
╔══════╦════════════╗
║ id ║ username ║
╠══════╬════════════╣
║ 1 ║ adam ║
║ 2 ║ Aron ║
║ 3 ║ Ben ║
║ 4 ║ charles ║
╚══════╩════════════╝
答案 0 :(得分:11)
您可以在username
子句中将order by
格式化为大写或小写,如下所示:
order by lower(username)
答案 1 :(得分:3)
有两种不区分大小写的解决方案。
首先使用COLLATE
选项:
SELECT * FROM table_name ORDER BY username COLLATE `latin1_general_ci`;
不区分大小写ORDER BY
的MySQL查询是将LOWER()
添加到您的字段名称中:
SELECT * FROM table_name ORDER BY LOWER(username);