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个回答

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

u014249826
emilie-jin 非常感谢, 有没有办法把or语句简化呢?
大约 6 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐