`
dacoolbaby
  • 浏览: 1256169 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle 判断语句

阅读更多
首先是decode函数。

decode的用法是
DECODE(control_value,value1,result1[,value2,result2…][,default_result]);
参数说明:
control _value
试图处理的数值。可以是数据库中表的某一列,DECODE函数将该数值与后面的一系列的偶序相比较,以决定返回值。

value1
是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使用关键字NULL于之对应

result1
是一组成序偶的结果值。

default_result
未能与任何一个值匹配时,函数返回的默认值。
SELECT decode(sign(to_date('2008-05-01', 'yyyy-MM-dd') - to_date('2008-03-01', 'yyyy-MM-dd')),
              1,
              to_date('2008-05-02', 'yyyy-MM-dd'),
              to_date('2008-03-02', 'yyyy-MM-dd'))
  FROM dual


另外一种方法就是CASE WHEN THEN END
本人比较喜欢这种,因为有时候判断的内容比较长,CASE WHEN的结构更加清晰。
select case
         when to_date('2008-05-01', 'yyyy-MM-dd') >=
              to_date('2008-03-01', 'yyyy-MM-dd') then
          to_date('2008-05-01', 'yyyy-MM-dd')
         else
          to_date('2008-03-01', 'yyyy-MM-dd')
       end
  from dual


还有一种CASE WHEN用法
CASE sex  
WHEN '1' THEN '男'  
WHEN '2' THEN '女'  
ELSE '其他' END 


另外,在WHERE语句里面使用CASE WHEN:
SELECT T2.*, T1.*   
FROM T1, T2  
WHERE (CASE WHEN T2.COMPARE_TYPE = 'A' 
             AND T1.SOME_TYPE LIKE 'NOTHING%'
            THEN 1
            WHEN T2.COMPARE_TYPE != 'A' 
             AND T1.SOME_TYPE NOT LIKE 'NOTHING%'
            THEN 1 
            ELSE 0 END) = 1



在存储过程中使用的最多的是IF判断语句。
在Oracle中,IF语句分为三种形式:
IF A>B
THEN B=A ;
END IF;

IF A>B
THEN B=A;
ELSE A=B;
END IF;

IF A>B
THEN B=1 ;
ELSIF A=B ;
THEN B= 0;
ELSE 
  A= 1;
END IF;


要注意的是。
还可以加上begin....end,本情况只适用于if 嵌套情况,如
if .... then
begin
elsif ... then
end if;








分享到:
评论

相关推荐

    Oracle中PL/SQL中if语句的写法介绍

    代码如下:/*If语句:判断用户输入的数字。*/set serveroutput on –接收键盘输入accept num prompt ‘请输入一个数字:’; declare –将屏幕输入的数字付给变量 pnum number := #begin if pnum = 0 then dbms_...

    Oracle编程

    Oracle 存储过程 函数的创建 游标的使用方式 Oracle判断语句 Oracle循环语句

    oracle日期时间判断函数

    里面有字符是否符时间期的两个函数,一个纯日期,还有一个加了时分秒。经测试可以用的

    判断oracle数据库中是否存在新建表

    判断oracle数据库中是否存在新建表,如果存在则不创建表,不存在则执行建表语句;只需要传递建表语句就可以判断了

    sql判断语句.txt

    sql判断语句.txt sql判断语句.txt sql判断语句.txt sql判断语句.txt

    oracle 事务 回滚 存储过程

    oracle 事务 回滚 存储过程 自用

    Oracle添加字段的sql语句源码下载

    Oracle添加字段的完整语句,oracle 添加字段时判断字段是否已经存在,sqlserver判断字段是否存在并添加

    oracle用什么SQL语句判断表存不存在

    正在看的ORACLE教程是:oracle用什么SQL语句判断表存不存在。SQL SERVER用来判断表或视图存在的语句在ORACLE中不能用,请问该怎么写。 谢谢。 提问者: – 最佳答案 exists(select tname from tab where tname =’...

    Oracle字符相似度函数

    Oracle字符相似度函数。在sql语句中直接用该函数来计算2个字符串相似度。

    Oracle删除表、字段之前判断表、字段是否存在

    若在程序中执行该语句则会报异常,这就需要我们在删除表前先判断该表是否存在,若存在则删除. DECLARE num NUMBER; BEGIN SELECT COUNT(1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER('tableName'); IF num...

    ORACLE动态执行语句 正则表达式 游标

    ORACLE中的正则表达式的使用 动态执行SQL语句 动态创建游标 游标的创建方式 ORACLE循环操作 for循环 loop循环 while循环 判断操作

    如何用oracle 截取两个相同字符串之间的字符

    在实际工作中经常遇到截取两个相同字符串之间的字符的oracle问题,以下是相关语句

    oracle存储过程

    oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO ...

    Oracle 入门文档2

    Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/SQL 游标的使用 Oracle笔记 十、PL/SQL存储过程 Oracle笔记 十一、PL/SQL函数和触发器 Oracle笔记 十二、PL/SQL 面向对象oop编程 Oracle笔记 十...

    Oracle判断指定列是否全部为数字的sql语句

    代码如下: select nvl2(translate(name,’\1234567890 ‘, ‘\... 您可能感兴趣的文章:oracle 重置序列从指定数字开始的方法详解ORACLE数据库中怎么求除数字、字母之外的非中文字符的正则表达式Oracle中判断字段是否为

    oracle基础教程

    4.7 怎样分析SQL语句是否用到索引 52 4.8 怎样判断是否存在回滚段竞争 53 4.9 怎样手工跟踪函数/存储过程执行情况 54 4.10 多种业务使用同一数据库如何分配回滚段 54 4.11 怎样倒出、倒入文本数据 54 4.11.1 倒出 54...

    Oracle 入门文档

    Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/SQL 游标的使用 Oracle笔记 十、PL/SQL存储过程 Oracle笔记 十一、PL/SQL函数和触发器 Oracle笔记 十二、PL/SQL 面向对象oop编程 Oracle笔记 十...

    Oracle中判断字段是否为数字

    本文分别介绍使用trim+translate函数或regexp_like函数判断表中的某个字段是否为数字的方法,希望对大家有所帮助。

    电话号码归属地 一览表(oracle格式)

    最新的电话号码归属地一览表,可以直接查询电话号码的归属地, 更新到2018年,oracle格式的SQL语句,可以直接导入使用。

    Oracle维护常用SQL语句汇总

    Oracle维护常用SQL语句汇总: 如何远程判断Oracle数据库的安装平台 select * from v$version; 查看表空间的使用情况 select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by ...

Global site tag (gtag.js) - Google Analytics