可以写成这样
decode(字段*(字段-1)*(字段-4)*(字段-7),0,表达式1,...)例:
13:27:43 SQL> select * from s; SNO SN SE AGE
--------- ---------- -- ---------
1 xm001 m 11
2 xm002 f 12
3 xm003 f 13实际:191
13:27:48 SQL> select decode((sno-1)*(sno-4)*(sno-7)*sno,0,'ok','not in 1,4,7') from s;DECODE((SNO-
------------
ok
not in 1,4,7
not in 1,4,7实际:70
13:31:44 SQL>
decode(字段*(字段-1)*(字段-4)*(字段-7),0,表达式1,...)例:
13:27:43 SQL> select * from s; SNO SN SE AGE
--------- ---------- -- ---------
1 xm001 m 11
2 xm002 f 12
3 xm003 f 13实际:191
13:27:48 SQL> select decode((sno-1)*(sno-4)*(sno-7)*sno,0,'ok','not in 1,4,7') from s;DECODE((SNO-
------------
ok
not in 1,4,7
not in 1,4,7实际:70
13:31:44 SQL>
解决方案 »
- 如何后台限制某个程序登陆数据库
- sql语句问题
- 用netca进行LISTENER配置, 老提示 " 启动监听程序失败。监听程序可能正在运行
- 远程(几千公里外)有oracle 9i数据库,有上千万条数据记录,通过2M带宽传递,如何加快速度?
- vista上安装oracle客户端
- 关于exp导表的问题.
- Oracle7能否和Oracle9i之间实现数据同步
- 新手的几个问题?
- oracle的存储过程中能否创建临时表,存储过程完毕前drop掉?如果可以,该如何写,不可以怎么解决!
- 用sql server产生的sql语句,怎么才能在sql plus中直接运行?
- ORA-24337:语句未准备好。这个错误该怎么解决啊?急,在线等。
- 开始菜单下怎么没有反映呀(如:Net 8 assistan , Net 8 ,Universal install))
decode只能使用单值,不过,oracle中也是有case这种语的
你的语句在oracle 中可以这样写:
SELECT CASE WHEN eg.col1 IN (0,1,4,7) THEN 表达式1 ELSE 0 END from eg;