我有一个mysql表,用于存储有关歌曲及其艺术家的信息。在客户端,我有一个使用jQuery和Ajax的网页,以自动完成的形式搜索这些数据。例如,键入“David B”会回馈David Bowie。这样可以正常工作,但是当有人想要搜索“MötleyCrüe”时,他们必须在搜索结果中返回之前键入特殊字符。我希望用户能够键入'Motley C'并自动完成'MötleyCrüe'。
目前我构建了select查询并使用LIKE'%pattern%'来搜索艺术家。在MySQL中有没有办法做到这一点?
谢谢!
答案 0 :(得分:1)
如果您使用unicode感知和独立于文化的排序规则(例如utf8_general_ci
)存储艺术家的姓名,则此功能可以直接使用。您可以使用alter table
更改列的排序规则:
alter table YourTable modify ArtistName varchar(255) collate utf8_general_ci;
如果您不能/不想更改列排序规则,您可以在查询中使用特定的排序规则,如下所示:
select * from YourTable where ArtistName like 'motley%' collate utf8_general_ci;