问题描述
- 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?%'
有结果
请问这两个有什么不一样?
解决方案
通配符中[o?]是不可行,因为此只能表示一个范围,或者是计算机中默认的一个顺序比如a-z A-Z o与?在计算机中根本没有这个范围的定义,所以不可行。而你用or就是做的两个字符得的单独判断就可以返回。希望能帮到你
时间: 2024-08-03 01:36:47