【问题标题】:How to sql search for the letter 'å'如何用sql搜索字母'å'
【发布时间】:2020-08-11 14:21:46
【问题描述】:

我正在尝试搜索 MySQL 表以查找特定列(就像我以前做过很多次一样),但我遇到了一个问题,我正在尝试搜索字母“å”,但它会返回带有字母“å”的列和带有字母“a”的列。

例如。

我有一个名为 Categories 的表,如下所示:

+----------+--------+
| Category | Answer |
+----------+--------+
|  cities  | abenra |
+----------+--------+
|  cities  | åbenrå |
+----------+--------+

当我尝试像这样搜索它时 SELECT * FROM Categories WHERE Category='cities' AND Answer='åbenrå' 它返回结果:

+----------+--------+
| Category | Answer |
+----------+--------+
|  cities  | abenra |
+----------+--------+
|  cities  | åbenrå |
+----------+--------+

而我所期待和想要的结果是这样的:

+----------+--------+
| Category | Answer |
+----------+--------+
|  cities  | åbenrå |
+----------+--------+

那么...如何在不搜索字母“a”的同时搜索字母“å”?

我真的希望你能帮助我! 感谢您的问候。

【问题讨论】:

  • 指定丹麦语言环境/排序规则等? (在英语中,å 被认为是(奇怪的)a。)
  • @jarlh 我试过了,但我得到了同样的结果
  • 试试看这个问题:stackoverflow.com/questions/500826/…
  • 您希望ÅBENRÅ 被退回吗?还有Aabenrå?
  • 搜索“åbenrå”时,我只想返回“åbenrå”,而不是其他任何东西

标签: mysql sql


【解决方案1】:

我猜您需要对关键字应用转换以实现完全匹配

SELECT * FROM Categories 
WHERE Category='cities' 
AND Answer = CONVERT('åbenrå' USING binary)

DEMO

【讨论】:

    猜你喜欢
    • 2011-03-02
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多