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*';无法查出记录
这是为什么啊?

解决方案 »

  1.   

    你的意思是* 在这里面不是通配符吗?可是我在百度看到很多文章,*也是通配符啊
    ------------------------------------------------------
    *
    c*c代表cc,cBc,cbc,cabdfec等
    它同于DOS命令中的通配符,代表多个字符。
    多个字符
    例2,查询name字段中以“李”字开头。
    select * from table1 where name like ‘李*’
      

  2.   

    select * from sysuser a where a.login_name like 'sys*';
    等于
    select * from sysuser a where a.login_name = 'sys*';
      

  3.   

    sql中的通配符%才代表任意字符,*在sql中没有通配符的意思,虽然在像DOS环境之类下是代表任意字符的意思