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
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
解决方案 »
- 资料异常消失
- 误删oracle11g表空间文件后,数据库未打开,请各位大虾指点
- oracle建表空间后怎么建用户再怎么把X.dmp导到这个表空间里
- 高手进来帮忙 dblink调用远程存储过程的问题
- sql语句 如何在oracle中实现。。
- 老问题,sql语句优化,有点难度,100分诚意奉上
- 买一套Oracle,是不是可以装多台服务器
- ORACLE里的回车符是怎么样的?
- 斑竹高手们看看,我的函数输出的问题,奇怪
- 数据库(如:Oracle)中联合查询的机制
- 9/1 PL/SQL: SQL Statement ignored9/30 PL/SQL: ORA-00911: 无效字符
- 大家好,请问下PL SQL Developer 工具下如何调试SQL语句?
((ui.user_name is '' and ui.user_name like '%') or ui.user_name = 'jack')
行吗
改成。
ui.user_name is nulll
--这样就可以了
(ui.user_name is null or ui.user_name = 'jack')
初学请多指教
nvl(ui.user_name,'具体值')='具体值'