如果没有数据,不返回null
select nvl(max(loginname),'test')    from  users  where  loginname='admin';  

解决方案 »

  1.   

    我是写在存储过程中的,我想返回 loginname
    select nvl(loginname,'') into currentloginname from users where loginname='admin'
    如果没有查到用户怎么返回 空字符串''???
      

  2.   

    select  nvl(max(loginname),'')  into  currentloginname  from  users  where  loginname='admin'  ;
      

  3.   

    你这样做没有什么意义
    oracle中 ''=null17:15:03 SQL> select 1 from dual where '' is null;         1
    ----------
             1已用时间:  00: 00: 00.16
    直接这样:
    select max(loginname) into currentloginname from users where loginname='admin';
    如果没有的话,currentloginname is null
      

  4.   

    多谢,顺便问一下max函数有什么用的???取最多值???
      

  5.   

    防止出现 no_data_fond 这个异常。