oracle的语句怎么写,oracle的if语句怎么写

oracle怎么写IF语句

如果是 SQL 语句里面使用。

使用 DECODE 或者 CASE WHEN

DECODE 的用法就是

DECODE(abc, 50, 'A', 'B')

CASE WHEN 的用法就是

CASE WHEN abc=50 THEN 'A' ELSE 'B' END

如果是在存储过程里面的话,就是简单的 IF/ELSE 了

SQL 语句的话,就是

SELECT

abc, DECODE(abc, 50, 'A', 'B')

FROM

ORACLE里查询怎样写if语句啊

首先要确保这里的 空值 是 NULL,还是0,或是''。

如果是NULL,则:

select NVL(mlr,yqlr) as result from table_name

select NVL2(mlr,mlr,yqlr) as result from table_name (9i及之后)

如果是0:

select NVL(NULLIF(mlr,0),yqlr) as result from table_name (9i及之后)

如果是'',可以参照上面处理

如果是其它情况的话,可能还要转换判断一下!

以上仅参考!

Oracle循环语句的写法有哪些呢

如果您对Oracle循环语句方面感兴趣的话,不妨一看。

loop循环: 1。 create or replace procedure pro_test_loop is 2。

i number; 3。 begin 4。

i:=0; 5。 loop 6。

ii:=i+1; 7。 dbms_output。

put_line(i); 8。 if i》5 then 9。

exit; 10。 end if; 11。

end loop; 12。 end pro_test_loop; while循环: 1。

create or replace procedure pro_test_while is 2。 i number; 3。

begin 4。 i:=0; 5。

while i《5 loop 6。 ii:=i+1; 7。

dbms_output。 put_line(i); 8。

end loop; 9。 end pro_test_while; for循环1: 1。

create or replace procedure pro_test_for is 2。 i number; 3。

begin 4。 i:=0; 5。

for i in 1。

5 loop 6。 dbms_output。

put_line(i); 7。 end loop; 8。

end pro_test_for; for循环2: 1。 create or replace procedure pro_test_cursor is 2。

userRow t_user%rowtype; 3。 cursor userRows is 4。

select * from t_user; 5。 begin 6。

for userRow in userRows loop 7。 dbms_output。

put_line(userRow。Id||','||userRow。

Name||','||userRows%rowcount); 8。 end loop; 9。

end pro_test_cursor;。

Oracle if 语句问题

oracle跟sqlserver不同

if 后 then就可以

而sqlserver中

if 后不跟then ,而是跟begin 。.end;

所以你第一个是对的,第二个应该会报错的

同时update后需要commit;这个lz需要注意一下,否则只在当前会话中update生效,重新再开一个会话还会发现数据没写进去

还有,你select 。into那句,xx必须只能是一个值,不能是一列里N多条记录,否则一个变量不能存放N条数据,如果这种情况得需要用游标来处理

oracle 视图 if 语句的使用

Create Or Replace View mark_vAsSelect Id,Case score When '优' Then '90' When '中' Then '75' When '差' Then '30' Else score End As scoreFrom mark或者还有个简单的写法:Create Or Replace View mark_vAsSelect Id,decode(score,'优','90','中','75','差','30',score) As scoreFrom mark以上希望对你有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值