MySQL如何将LIKE与结尾字符一起使用

MySQL如何将LIKE与结尾字符一起使用,mysql,sql-like,Mysql,Sql Like,编辑:问题来自我的数据库配置,案例已结束,谢谢 我有以下数据集: Roma Romagnano Romano 当我使用以下LIKE语句时:LIKE'rom%' 我得到: Roma Romagnano Romano 但是,当我使用类似“roma%”的语句时 我得到: Romagnano Romano 如果搜索基于“Roma”,我应该在查询中使用什么样的语句在结果中保留行“Roma”,并保留以下结果集: 我应该改用REGEXP吗?非常感谢我不知道您的系统上的确切配置是什么,但在以下情况下,将返

编辑:问题来自我的数据库配置,案例已结束,谢谢

我有以下数据集:

Roma
Romagnano
Romano
当我使用以下LIKE语句时:
LIKE'rom%'

我得到:

Roma
Romagnano
Romano
但是,当我使用类似“roma%”的语句

我得到:

Romagnano
Romano
如果搜索基于“Roma”,我应该在查询中使用什么样的语句在结果中保留行“Roma”,并保留以下结果集:


我应该改用REGEXP吗?非常感谢

我不知道您的系统上的确切配置是什么,但在以下情况下,将返回所有三个值:

select *
from (select 'Roma' as val union all
      select 'Romagnano' union all
      select 'Romano'
     ) r
where val like 'roma%';

您的MySQL配置似乎有所不同,因为和一个简单的说法都是相反的:它应该工作。

像'roma%'
也应该返回
roma
,如果没有,那么问题出在其他地方。你不需要任何不同的查询,这是正确的
如“roma%”
也应返回
roma
如果不知道系统的具体配置
%
的行为是否取决于MySQL版本?@GrijeshChauhan。这可能取决于数据库的默认排序规则。这可能取决于字符串中是否包含特殊字符。这可能取决于我不知道的系统变量。我想我没有完美地表达这个想法,但是代码至少在一个系统上工作,SQL Fiddle系统。
select *
from (select 'Roma' as val union all
      select 'Romagnano' union all
      select 'Romano'
     ) r
where val like 'roma%';