在区分大小写的列中进行不区分大小写搜索(并按不区分大小写排序)

3

我有一个区分大小写的列(utf8_bin差异)。我需要不区分大小写地搜索字符串并按不区分大小写的顺序排序结果。

我已经编写了以下查询。

SELECT customer_name 
   FROM customers
   WHERE CONVERT(customer_name USING UTF8) LIKE 'aB%' 
   ORDER BY CONVERT(customer_name USING UTF8) 
   LIMIT 0,10

这样做高效吗?或者有更好的方法来实现这个目标吗?

1个回答

3

将其转换为大写字母怎么样?

SELECT customer_name 
   FROM customers
   WHERE UPPER(customer_name) LIKE 'AB%' 
   ORDER BY UPPER(customer_name) 
   LIMIT 0,10

1
是的,我最初也是这样做的。但是我在这里看到这会影响索引的使用。因此我使用了Collate。 - SatheeshJM
谢谢分享链接。我不知道Collate ;) - TheEwook

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接