日期:2014-05-17  浏览次数:21171 次

sql语句中的like语句中%和*的区别?
sysuser中有两个用户名,system和sysaudit,想通过like子句查询以sys开头的用户名,但是
select * from sysuser a where a.login_name like 'sys%';可以查出记录
select * from sysuser a where a.login_name like 'sys*';无法查出记录
这是为什么啊?
------最佳解决方案--------------------
*是一个实际的字符,而%是通配符,两个不是一个概念

------其他解决方案--------------------
select * from sysuser a where a.login_name like 'sys*';
等于
select * from sysuser a where a.login_name = 'sys*';
------其他解决方案--------------------
sql中的通配符%才代表任意字符,*在sql中没有通配符的意思,虽然在像DOS环境之类下是代表任意字符的意思
------其他解决方案--------------------
ACCESS 里貌似用*
------其他解决方案--------------------
引用:
*是一个实际的字符,而%是通配符,两个不是一个概念

你的意思是* 在这里面不是通配符吗?可是我在百度看到很多文章,*也是通配符啊


------------------------------------------------------


*
c*c代表cc,cBc,cbc,cabdfec等
它同于DOS命令中的通配符,代表多个字符。
多个字符


例2,查询name字段中以“李”字开头。
select * from table1 where name like ‘李*’