【问题标题】:Use of case in MySQL LIKE queryMySQL LIKE 查询中大小写的使用
【发布时间】:2015-01-14 09:43:30
【问题描述】:

如果我有一个名为 TITLE 的列的表,其中包含大小写混合的文本,例如

  • Vinashin to Receive Government Loans to Pay Workers
  • German government concerned over rise in inflation

是否可以执行 SQL LIKE 查询,例如:

SELECT * FROM MYTABLE WHERE TITLE LIKE '%Government%'

但是哪个只会返回第一行而不是第二行?

MYSQL 的LIKE 似乎忽略了大小写。

【问题讨论】:

  • 你试过了吗,看看你得到了什么结果?

标签: mysql case sql-like


【解决方案1】:

来自the documentation

以下两个语句说明字符串比较不区分大小写,除非其中一个操作数是二进制字符串:

mysql> SELECT 'abc' LIKE 'ABC';
        -> 1
mysql> SELECT 'abc' LIKE BINARY 'ABC';
        -> 0

因此您可以使用LIKE BINARY '%Government%' 进行区分大小写的比较。

【讨论】:

  • 谢谢戳。这有帮助。
【解决方案2】:

你可以使用:

LIKE BINARY 

而不是 LIKE,它将区分大小写。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 2011-03-03
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多