MySQL JSON字符串的大小写和重音不敏感排序

时间:2018-05-24 12:14:13

标签: mysql json

我有一个MySQL表my_table,其中包含如下JSON值:

id | data
---+--------------------
1  | {"name": "à l'avenir"}
2  | {"name": "je veux"}
3  | {"name": "Que ça marche"}

我使用此查询按名称asc排序:

SELECT `data`->>'$.name' AS `name` FROM `my_table` ORDER BY `name` ASC

我按此顺序获取项目:

Que ça marche
je veux
à l'avenir

有没有办法让结果好像与utf8mb4_unicode_ci进行整理?

MySQL JSON字段中的字符串整理为utf8mb4_bin,这是大小写和重音敏感。

1 个答案:

答案 0 :(得分:1)

一个选项是明确指定使用的COLLATE

SELECT `data` ->> '$.name' COLLATE utf8mb4_unicode_ci `name`
FROM `my_table`
ORDER BY `name` ASC;

请参阅dbfiddle