`
dacoolbaby
  • 浏览: 1267308 次
  • 性别: 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查询语句优化

    ### Oracle查询语句优化知识点详解 #### 一、概述 Oracle数据库因其强大的功能和灵活性,在企业级应用中占据着重要地位。随着业务的发展,数据库的数据量急剧增长,如何提高查询效率成为了亟需解决的问题之一。本文...

    oracle case语句的介绍

    在 Oracle 数据库中,CASE 语句是一种非常实用且灵活的条件判断表达式,它可以用于根据不同的条件返回不同的值。CASE 语句可以分为两种类型:简单 CASE 语句和搜索 CASE 语句。 - **简单 CASE 语句**(Simple CASE ...

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

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

    通过xlrd读取excel生成oracle的建表语句

    本话题主要关注如何利用Python的xlrd库来读取Excel文件,并根据其中的数据生成适用于Oracle数据库的建表语句。 首先,xlrd是一个Python库,专门用于读取Excel文件。它支持多种Excel文件格式,包括.xls和.xlsx,使得...

    Oracle编程

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

    oracle日期时间判断函数

    针对标题"oracle日期时间判断函数"和描述中提到的内容,我们可以深入探讨两个关键的函数,它们主要用于判断字符串是否可以转换为合法的日期时间格式。 1. TO_DATE函数: TO_DATE是Oracle中用于将字符串转换为日期...

    ORACLE SQL 语句(典型应用总结).pdf

    根据提供的文档信息,本文将对《ORACLE SQL 语句(典型应用总结)》中的关键知识点进行详细解读与总结。 ### 第一章 基本SELECT语句 #### 1. SQL语法要求 在Oracle中编写SQL语句时,需要注意以下几点: - **大小写...

    update语句的优化-oracle .pdf

    在本篇文档中,作者详细总结了在实际项目中针对Oracle数据库的update语句优化的四种方案。以下是对这四种方案的知识点进行详细的阐述: 1. 标准update语法优化: 当面对单表更新或较简单的SQL语句时,可以直接使用...

    oracle语句优化.docx

    "Oracle 语句优化" 本文将详细地介绍 Oracle 语句优化的方法和技巧,涵盖多表关联、EXISTS 和 IN 语句的使用、INDEX_JOIN 优化、WHERE 和 HAVING 语句的区别、NOT IN 和 <> 操作符的使用、LIKE 操作符的替代、UNION...

    oracle的sql语句和语法

    本资料将重点介绍Oracle SQL语句和语法,适合初学者入门学习。 1. **SQL基础** - **SELECT语句**:用于从数据库中检索数据,是最常用的SQL语句。可以指定列名、表名、条件等,例如`SELECT column1, column2 FROM ...

    Oracle sql语句多表关联查询

    Oracle SQL 语句多表关联查询 Oracle SQL 语句多表关联查询是数据库管理系统中的一种常见查询方式,它可以从多个表中检索数据,满足业务需求。本文将详细介绍 Oracle SQL 语句多表关联查询的知识点,包括字符串和...

    Oracle——sql语句优化

    ### Oracle SQL语句优化策略详解 #### 操作符优化概览 在Oracle数据库环境中,SQL语句的优化是提升查询效率、减少系统资源消耗的关键环节。通过对特定操作符的合理运用,可以显著改善数据检索的速度与准确性。本文...

    oracle_语句大全

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL语句和功能来支持复杂的数据操作和管理。以下是一些关于Oracle数据库的重要知识点: 1. **Oracle安装后的初始口令**:在Oracle安装完成后,通常...

    Oracle基本语句和基本函数

    这个压缩包文件"Oracle基本语句和基本函数.doc"显然包含了关于Oracle数据库操作的基础知识,包括SQL语句和内置函数的使用。 一、Oracle SQL基本语句 1. 数据查询:SQL的SELECT语句用于从数据库中检索数据,例如`...

    自己整理的Oracle常用高级语句.rar

    在PL/SQL中,IF-THEN-ELSIF-ELSE语句用于实现条件判断。文档可能包含各种条件控制结构的实例,帮助用户掌握如何在存储过程中进行条件分支。 6. **Oracle的rollup**: ROLLUP操作符在GROUP BY子句中使用,生成多层...

    oracle巡检语句汇总

    ### Oracle巡检语句汇总详解 #### 一、检查数据库基本状况 在Oracle数据库的日常运维工作中,确保数据库的基本运行状况良好是非常重要的第一步。这部分主要包括以下几个方面: ##### 1.1 检查Oracle实例状态 ```...

    oracle系列教程三+oracle复杂SQL语句.doc

    其次,`CASE`语句在Oracle SQL中用于条件判断和数据转换。它有多种形式,例如: 1. `CASE WHEN`条件表达式:可以用来根据不同的条件返回不同的结果。例如: ```sql SELECT CASE WHEN substr(to_char(SYSDATE,...

    oracle数据库基本语句

    根据提供的文件信息,本文将对Oracle数据库中的基本SQL语句进行详细介绍,并结合示例代码来解释如何在PL/SQL环境中使用这些语句。 ### 一、Oracle数据库基本SQL语句 #### 1. 创建用户(Create User) 创建用户是...

    oracle判断表名是否存在

    至于提供的压缩包文件名称列表,"JasperReports结合iReport制作报表教程.pdf"和"用Hibernate和Spring开发持久层.pdf",它们与Oracle判断表名是否存在这一主题没有直接关联。JasperReports是一个报表生成工具,...

Global site tag (gtag.js) - Google Analytics