Oracle 判断语句
2014-12-05 22:18
169 查看
首先是decode函数。
decode的用法是
DECODE(control_value,value1,result1[,value2,result2…][,default_result]);
参数说明:
control _value
试图处理的数值。可以是数据库中表的某一列,DECODE函数将该数值与后面的一系列的偶序相比较,以决定返回值。
value1
是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使用关键字NULL于之对应
result1
是一组成序偶的结果值。
default_result
未能与任何一个值匹配时,函数返回的默认值。
另外一种方法就是CASE WHEN THEN END
本人比较喜欢这种,因为有时候判断的内容比较长,CASE WHEN的结构更加清晰。
还有一种CASE WHEN用法
另外,在WHERE语句里面使用CASE WHEN:
在存储过程中使用的最多的是IF判断语句。
在Oracle中,IF语句分为三种形式:
要注意的是。
还可以加上begin....end,本情况只适用于if 嵌套情况,如
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语句自动判断是要更新记录还是要插入记录
- oracle 建表、最大ID、判断表是否已存在、字段的查询以及增删改、插入与修改语句
- oracle语句增加逻辑判断-很实用
- (转)Oracle中判断某字段不为空及为空的SQL语句
- oracle里通过merge语句判断重复插入
- oracle如何根据一个字段的结果判断另外一个字段?(CASE WHEN THEN ELSE END语句)
- oracle用什么SQL语句判断表存不存在
- Oracle中是用case...when语句进行判断
- Oracle 数据库判断所写的SQL语句的执行效率
- Oracle判断语句集合
- Oracle判断对象是否存在sql语句
- Oracle里通过merge语句判断重复插入
- oracle中 判断是否 有记录 然后插入的sql语句
- oracle下常用查询更新命令(身份证号判断男女,更新语句多表查询)
- oracle 创建表时判断表是否存在语句
- oracle判断和循环语句语法
- Oracle判断指定列是否全部为数字的sql语句
- Oracle判断语句集合(转载)
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- oracle判断字段是否存在语句