0

我在 MySQL 中使用排序规则 utf8_bin 存储一个表。我想使用 Codeigniter 的活动记录工具选择按字母顺序排列的所有名称,但下面的代码首先对所有以大写字母开头的单词进行排序,然后是非大写字母(它们没有大写是有原因的)。

$this->db->select('name')
    ->from('partners')
    ->order_by('name', 'asc')
    ->get()
    ->result();

我读到 usingORDER BY name COLLATE utf8_general_ci;会使排序不区分大小写,而无需更改我的表排序规则。有没有办法用 Codeigniter 做到这一点?这可能是许多表所必需的,我想避免LOWER(name)在我的查询中用作额外的列来排序。

4

2 回答 2

1

使用$this->db->order_by('lower(name)', 'asc')工作。

于 2013-05-20T17:21:02.933 回答
0

尝试这个:

order by cast(name as char) asc, binary name desc
于 2013-05-20T17:04:26.430 回答