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%';