MySql8.0下中文字符按照拼音排序的方法
在MySQL數(shù)據(jù)中,如果中文字段使用的utf8編碼,排序規(guī)則是不是支持按照拼音進(jìn)行排序的,比如常用的 utf8mb4_general_ci 和 utf8mb4_unicode_ci 排序,如果我的字段想按照中文拼音排序應(yīng)該怎么辦呢,可以在sql語(yǔ)句中指定 order by 排序方式來(lái)排序
SELECT
*
FROM
table_name
WHERE
1 = 1
ORDER BY
CONVERT(`field_name` USING gbk) COLLATE gbk_chinese_ci ASC
對(duì)于我常用的thinkPHP開(kāi)發(fā)框架來(lái)說(shuō),可以用以下方法實(shí)現(xiàn):
$list=(new ModelName)
->where($where)
->orderRaw("CONVERT(`real_name` USING gbk) COLLATE gbk_chinese_ci ASC")
->select();