社区
Oracle
帖子详情
【在线等待】Oracle的查询语句怎么写????
自由_
2010-04-19 01:58:07
是写一个查询语句:a,b,c,d,e这5个是查询条件
用户可能只输入其中的几个条件
那怎么来写这个查询语句
先谢!!!
...全文
237
12
打赏
收藏
【在线等待】Oracle的查询语句怎么写????
是写一个查询语句:a,b,c,d,e这5个是查询条件 用户可能只输入其中的几个条件 那怎么来写这个查询语句 先谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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拼接。
企业实战07:
Oracle
数据库_
查询语句
Oracle
数据库专栏 命令后面可以不加;分号 SQL语句后面一定要加;分号 文章目录第6章
查询语句
6-1
Oracle
查询概述6-2
Oracle
基本
查询语句
6-3
Oracle
查询语句
之在sql/plus中设置格式6-4
Oracle
查询语句
之查询表中的所有字段及指定字段6-5
Oracle
查询语句
之给字段设置别名6-6
Oracle
运算符和表达式6-7
Oracle
在selec...
oracle
11G归档日志管理
此前一直对orale的归档日志管理的细节存在疑惑,今天抽空总结一下 一、常用日志
查询语句
select * from v$flash_recovery_area_usage; --查看空间占用率,如果 ARCHIVED LOG 超过90%,
Oracle
随时有宕机的危险 select * from v$recovery_file_dest; --查看归档日志大小及使用情况 select g...
Oracle
常用
查询语句
一、
oracle
查询锁表解锁语句 首先要用dba权限的用户登录,建议用system,然后直接看sql吧1. 如下语句 查询锁定的表. SELECT L.SESSION_ID SID, S.SERIAL#, L.LOCKED_MODE, L.
ORACLE
_USERNAME, L.OS_USER_NAME, S.MACHINE, S.TERMINAL, O.OBJECT_NAME, S.LO
oracle
教程目录(我要自学网)
点击链接即可进入
在线
视频教程:标 题日 期点击第一章:
Oracle
11g的简介2017-05-26761-1
Oracle
的概述2017-05-26399341-2
Oracle
的安装2017-05-26281621-3
Oracle
的卸载2017-05-26123481-4
Oracle
数据库的体系结构2017-05-26203111-5
Oracle
中的常用命令2017-05-262020...
oracle
添加归档日志文件_
Oracle
归档日志管理
一、常用日志
查询语句
select * from v$flash_recovery_area_usage; --查看空间占用率,如果 ARCHIVED LOG 超过90%,
Oracle
随时有宕机的危险select * from v$recovery_file_dest; --查看归档日志大小及使用情况select group#, bytes, status from v$log; --查看现有日志s...
Oracle
17,134
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章