在sql中不区分大小写的order_by - Codeigniter

时间:2014-05-29 04:15:48

标签: mysql codeigniter

我正在排序而选择升序它,它可以工作,但我希望它不区分大小写。对列用户名进行排序。

我的代码

$this->db->order_by('client_name','asc');

目前它显示如下。

user_id | code |username
1   A   AAAA
2   B   BBBB
3   C   acac
4   D   cccc

预期输出

user_id | code |username
1   A   AAAA
2   B   acac
3   C   BBBB
4   D   cccc

3 个答案:

答案 0 :(得分:0)

这里有几个选项:

“SELECT * FROM table ORDER BY client_name COLLATE ‘latin1_general_ci’ ASC;

“SELECT * FROM table ORDER BY LOWER(client_name) ASC"

这两个意味着不会更改数据库中的架构,如果您最初选择了正确的架构,那么这是更可取的。

否则,将模式更改为latin1_general_ci将会运行良好,但是由于其他数据限制,这并不总是a)选项或b)可行。

答案 1 :(得分:0)

尝试此查询: -

SELECT * FROM TAB ORDER BY LOWER(USER_NAME);

SQL小提琴就在这里。

http://sqlfiddle.com/#!2/088caa/1

答案 2 :(得分:-1)

$ this-> db-> order_by(“(CASE调用者状态                    当“字段值1”时,则1                    当“字段值2”然后2                    当“字段值3”时,则3                    其他4结束)“);