oracle函数if多个条件 oracle if和else if怎么用?
oracle if和else if怎么用?
前段时间写Oracle存储过程就遇到问题.
原来写成这样
if 1=2 then
null
elseif 1=3 then
null
end if
在PL/SQL编辑环境下elseif没有变色,说明不是关键字。
后来改成
if 1=2 then
null
else if 1=3 then
null
end if
编译时报异常。
去goole上百度了下,很多人都说是 elseif。
又试了N边,编译总不能通过。
怒了,直接写成
if 1=2 then
null
else if 1=3 then
null
end if
end if
问题就解决了。
今天又要在存储过程中用if...else if ...else if...写数据转换的东东,还按原来那样写看着很恶心。
后来发现是写成if...elsif...elsif....end if
神啊,终于被我找到答案了。
返回来看看,原来不是elseif,而是elsif,少了个"e"。他大爷的,干嘛要少个e啊,万恶的Oracle,真恶心。
不管怎么着,问题总算解决了,把这恶心记在心里,以后不犯同样错误。
oracle存储过程里的if else?
if( a==1 && b==1) 这样写:if a = 1 and b = 1 then-- 里面写if成立情况的代码else-- else情况end if if(a==1 | | b==1) 这样写:if a = 1 or b = 1 then-- 里面写if成立情况的代码else-- else情况end 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函数if多个条件 oracleif判断语句 oracle if else语句
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。