2 u014249826 u014249826 于 2014.04.07 21:53 提问

sql 通配符小问题 在线急等

本人mysql菜鸟一枚
遇到通配符的问题求助各位大神

我想选取users表中姓名包含"szo"或者"szö"的数据
所以写了以下代码:
select * from users where name like '%sz[oö]%'
数据库有这样的数据
但是返回值是0
尝试
select * from users where name like '%szo%' or name like '%szö%'
有结果
请问这两个有什么不一样?

1个回答

u014580662
u014580662   2014.04.07 22:07

通配符中[oö]是不可行,因为此只能表示一个范围,或者是计算机中默认的一个顺序比如a-z A-Z o与ö在计算机中根本没有这个范围的定义,所以不可行。而你用or就是做的两个字符得的单独判断就可以返回。希望能帮到你

u014249826
u014249826 非常感谢, 有没有办法把or语句简化呢?
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!