select rownum, everymmdd, counts
  from (SELECT to_char(ssm.create_date, 'yyyy-mm-dd') everymmdd,
               count(*) counts
          FROM sm_send_message ssm, sm_send_info ssi, user_info ui
         WHERE ssm.SM_SEND_MESSAGE_ID = ssi.SM_SEND_MESSAGE_ID
           AND  ui.user_name = '%' 
           and ssm.USER_ID = ui.user_id
           AND to_date(ssm.CREATE_DATE) >=
               to_date('2011-1-1', 'yyyy-mm-dd')
           and to_date(ssm.CREATE_DATE) <= to_date('2011-1-5', 'yyyy-mm-dd')
         group by to_char(ssm.create_date, 'yyyy-mm-dd')
         order by everymmdd desc)
我想ui.user_name委为空的时候用 ui.user_name like '%' 不空的时候 ui.user_name = 具体的之值
if ui.user_name == '' then ui.user_name like '%' else ui.user_name = '%' end if

解决方案 »

  1.   

    我想ui.user_name委为空的时候用 ui.user_name like '%' 不空的时候 ui.user_name = 具体的之值
      

  2.   

    ((ui.user_name is null and ui.user_name like '%') or ui.user_name = '%')
      

  3.   


    ((ui.user_name is '' and ui.user_name like '%') or ui.user_name = 'jack')
    行吗
      

  4.   

    ui.user_name is '' 不行。。
    改成。
    ui.user_name is  nulll
      

  5.   


    --这样就可以了
    (ui.user_name is null or ui.user_name = 'jack')
      

  6.   

    ((ui.user_name = 'a' and ui.user_name like '%') or ui.user_name = 'jack')这样行吗,
    初学请多指教
      

  7.   


    nvl(ui.user_name,'具体值')='具体值'