当前位置: 首页 > 面试题库 >

MySQL中不区分大小写的REPLACE?

薄伟彦
2023-03-14
问题内容

MySQL在默认的排序规则下运行几乎所有的字符串比较REPLACE。我有不区分大小写的排序规则,需要运行不区分大小写的REPLACE。有什么方法可以强制REPLACE使用当前排序规则,而不是始终执行区分大小写的比较?我愿意升级MySQL(当前运行5.1)以获取更多功能…

mysql> charset utf8 collation utf8_unicode_ci;
Charset changed

mysql> select 'abc' like '%B%';
+------------------+
| 'abc' like '%B%' |
+------------------+
|                1 |
+------------------+

mysql> select replace('aAbBcC', 'a', 'f');
+-----------------------------+
| replace('aAbBcC', 'a', 'f') |
+-----------------------------+
| fAbBcC                      |   <--- *NOT* 'ffbBcC'
+-----------------------------+

问题答案:

如果replace(lower())不起作用,则需要创建另一个函数。



 类似资料:
  • 问题内容: 我有一个MySQL查询: 而且我的表使用MyISAM编码为utf8_general_ci。 搜索似乎区分大小写。 我不知道如何解决它。出了什么问题和/或如何解决? 问题答案: 尝试这个: 或(让您看到差异)

  • 问题内容: 谁能告诉我默认情况下MySQL 查询是否区分大小写?如果没有,我将要发送什么查询,以便执行以下操作: 实际上,的真正价值是。 问题答案: 除非您进行二进制比较,否则它们 不区分大小写 。

  • 问题内容: 我正在尝试提出一个要求区分大小写的结果的请求。 例如在我的数据库中 该请求是 但我有3行作为结果,我只想要abcdef 我试图找到一个解决方案 但是我有这个错误: 未知归类:’Latin1_General_CS_AS’{“成功”:false,“错误”:“#1273-未知归类:’Latin1_General_CS_AS’”} 谢谢 问题答案: 感谢您的帮助,我找到了不是latin1 ut

  • 问题内容: 我有一个Lucene索引,该索引当前区分大小写。我想添加的 选项 有不区分大小写作为后备的。这意味着与案例匹配的结果将获得更大的权重,并且将首先出现。例如,如果结果数限制为10,并且有10个匹配项符合我的情况,那就足够了。如果仅找到7个结果,则可以从不区分大小写的搜索中再添加3个结果。 我的案子实际上更复杂,因为我有不同重量的物品。理想情况下,匹配“错误”的表壳会增加一些重量。不用说,

  • 对于报告(0.1%的所有查询),我需要返回一个所有可能类别的列表,区分大小写! 考虑以下文件: 运行以下查询: 返回: 是否有方法返回区分大小写的类别(存储在文档中)?我对此查询结果中的感兴趣。 Elasticsearch论坛中的问题 谢谢,伊泰