【问题标题】:How can I make SQL search ignore language-specific special characters?如何让 SQL 搜索忽略特定于语言的特殊字符?
【发布时间】:2012-10-11 20:31:57
【问题描述】:

我有一个 sql 表,其中包含我的语言(斯洛伐克语)的特殊字符的数据,例如:

 id | name
 1    František
 2    Ján
 3    Júlia

现在,我需要在此表上运行搜索 (SELECT ... %string%),在搜索 julia 时它应该匹配 Júlia,或者甚至一般来说,ju 应该找到 Júlia .

我的数据库已经不区分大小写了,我只需要让它忽略那些特殊字符。

我该怎么做?

【问题讨论】:

  • 默认排序规则做到了。 See here

标签: mysql sql


【解决方案1】:

试试

select * from t
where name like 'Julia' collate utf8_unicode_ci

您可以在选择中使用不同的排序规则。
您可以通过

查看您的安装支持哪些排序规则
SELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLLATIONS

SQLFiddle example
MySQL Collations

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-15
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多