社区
Oracle
帖子详情
【在线等待】Oracle的查询语句怎么写????
自由_
2010-04-19 01:58:07
是写一个查询语句:a,b,c,d,e这5个是查询条件
用户可能只输入其中的几个条件
那怎么来写这个查询语句
先谢!!!
...全文
186
12
打赏
收藏
【在线等待】Oracle的查询语句怎么写????
是写一个查询语句:a,b,c,d,e这5个是查询条件 用户可能只输入其中的几个条件 那怎么来写这个查询语句 先谢!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zouliqin
2010-04-21
打赏
举报
回复
[Quote=引用 3 楼 java3344520 的回复:]
程序里用查询条件拼接或者
程序里经常是这样写:
SELECT * FROM EMP E
WHERE E.EMPNO=DECODE(&EMPNO,'NONE',E.EMPNO,&EMPNO)
没有传入值的时候,程序默认为'NONE'
上面那种事我常用的,下面的也可
SELECT * FROM EMP E
WHERE E.EMPNO=NVL2(&EMPNO,&……
[/Quote]
以前一直用if then end if 这样 如果是空值用你这样的方法好象不错,如果我这个empno为-1时不做条件,可以用的上DECODE这个函数吗.
sxdtgsh
2010-04-20
打赏
举报
回复
decode函数就相当于if语句
if 条件 = 值1 then
返回 返回值1;
elsif 条件 = 值2 then
返回 返回值2;
...
elsif 条件 = 值n then
返回 返回值n;
else
返回 缺省值;
end if;
huangdh12
2010-04-20
打赏
举报
回复
应该是一个已经将所有条件拼接好的sql送到数据库进行查询吧。
JobyGuo
2010-04-20
打赏
举报
回复
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
条件=值1,decode的返回值为返回值1
条件=值2,decode的返回值为返回值2
:
条件=值n,decode的返回值为返回值n
条件不等于任何给定的值,返回缺省值
zswangg
2010-04-20
打赏
举报
回复
你给我说一下decode()这里面的几个参数是什么意思
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
SambaGao
2010-04-20
打赏
举报
回复
用 case when then end
也不错。。如果写完了。。可以给我优化优化哈哈。。。
iqlife
2010-04-19
打赏
举报
回复
WHERE E.EMPNO=DECODE(&EMPNO,'NONE',E.EMPNO,&EMPNO)
EMPNO的你程序传给SQL的外部变量,可能这个变量有值,或者没有值,
有值的时候就执行传入的值进行查询,没有值的时候你赋予这个变量默认值(举例为'NONE'),传入NONE ,这个时候,还是用本条记录的值进行查询,相当于此过滤条件无效.....
自由_
2010-04-19
打赏
举报
回复
[Quote=引用 3 楼 java3344520 的回复:]
程序里用查询条件拼接或者
程序里经常是这样写:
SELECT * FROM EMP E
WHERE E.EMPNO=DECODE(&EMPNO,'NONE',E.EMPNO,&EMPNO)
没有传入值的时候,程序默认为'NONE'
上面那种事我常用的,下面的也可
SELECT * FROM EMP E
WHERE E.EMPNO=NVL2(&EMPNO,……
[/Quote]
你给我说一下decode()这里面的几个参数是什么意思
没有看明白
feiyanggge123456789
2010-04-19
打赏
举报
回复
给楼主一个思路 如果是在代码中处理的时候可以这样写
String sql = "select * from ‘标明’ where ";
if(!“”.equale(a)){
sql+=" a=a ";
}
if(!“”.equale(b)){
sql+=" b=b ";
}
大概就是这个意思了,只要条件存在 就拼接在sql语句后边。如果不存在就不加,
iqlife
2010-04-19
打赏
举报
回复
程序里用查询条件拼接或者
程序里经常是这样写:
SELECT * FROM EMP E
WHERE E.EMPNO=DECODE(&EMPNO,'NONE',E.EMPNO,&EMPNO)
没有传入值的时候,程序默认为'NONE'
上面那种事我常用的,下面的也可
SELECT * FROM EMP E
WHERE E.EMPNO=NVL2(&EMPNO,&EMPNO,E.EMPNO)
自由_
2010-04-19
打赏
举报
回复
[Quote=引用 1 楼 suiziguo 的回复:]
PL/SQL动态SQL拼接。
[/Quote]
第一次用Oracle
所以不知道怎么弄
你给我写一下吧
suiziguo
2010-04-19
打赏
举报
回复
PL/SQL动态SQL拼接。
Oracle
等待
事件
查询语句
整理
–查询阻塞和被阻塞的session,支持RAC,按instance分组 SELECT a.INST_ID, a.sid, a.SERIAL#, a.USERNAME, a.SQL_ID, a.PROGRAM, a.EVENT, a.BLOCKING_SESSION, a.WAIT_TIME_MICRO FROM GVSESSIONAWHERE(A.INSTID,a.SID)in(selectb.BLOCKINGINSTANCE,b.BLOCKINGSESSIONfromgvSESSION A WHERE
Oracle
等待
事件
查询语句
查询
Oracle
的
等待
事件 select * from ( select event, total_waits,total_timeouts,time_waited,average_wait from gv$system_event where time_waited > 0 order by time_waited desc ) where rownum <=10 ;
oracle
查询语句
大全(
oracle
基本命令大全一)
来源:http://www.jb51.net/article/40467.htm 1.create user username identified by password;//建用户名和密码
oracle
,
oracle
2.grant connect,resource,dba to username;//授权 grant connect,resou...
oracle
查询语句
大全
oracle
查询语句
大全
oracle
基本命令大全一 1.create user username identified by password;//建用户名和密码
oracle
,
oracle
2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to usern
oracle
慢sql
查询语句
查询
oracle
中执行慢的sql
Oracle
17,140
社区成员
55,259
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章