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

oracle 的case语句

阅读更多

需求定义: 对于传入的字符串参数,需要对该字符串进行判断,如果字符串含有%号,则条件语句中应使用ORACLE的like语句,否则的话直接找相等的字符串。

SQL语句:
SELECT
    *
FROM
        TABLEA
WHERE  
       COLUMN1 =  'KEYWORD-COLUMN1'     AND
       COLUMN2    IN
            (SELECT
                CASE
                WHEN INSTR('KEYWORD-COLUMN2', '%') > 0
                THEN
                    (SELECT COLUMN2  FROM  TABLEA WHERE COLUMN2  like 'KEYWORD-COLUMN2'
                    )
                ELSE
                    (SELECT COLUMN2 FROM TABLEA WHERE COLUMN2  = 'KEYWORD-COLUMN2'
                    )
                END
                FROM DUAL
            )
以上的KEYWORD-COLUMN1和KEYWORD-COLUMN2都是定义的参数,需要根据传入的值来分别进行操作。主要是使用了ORACLE的CASE语句。
不知道有哪位高人有更好的方法。

分享到:
评论

相关推荐

    oracle case语句的介绍

    ### Oracle CASE 语句介绍及应用案例 #### 一、Oracle CASE 语句概述 在 Oracle 数据库中,CASE 语句是一种非常实用且灵活的条件判断表达式,它可以用于根据不同的条件返回不同的值。CASE 语句可以分为两种类型:...

    oracle case when 语句的用法详解

    1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex ... CASE WHEN 在语句中不同位置的用法2.1 SELECT CASE WHEN 用法 代码如下:SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    Oracle CASE WHEN 多条件语句详解 CASE WHEN 语句是 SQL 中的一种条件语句,用于实现多个条件的判断和执行。它可以用来代替 IF 语句和 SWITCH 语句,在 Oracle 数据库中尤其常用。 CASE WHEN 语句的基本语法是: `...

    oracle where case when where后面跟case when

    在Oracle数据库中,`WHERE`子句是SQL查询语句的一部分,用于指定查询条件,而`CASE WHEN`语句则是一种条件表达式,允许我们基于不同的条件返回不同的值。将`CASE WHEN`嵌套在`WHERE`子句中,可以实现更复杂的逻辑...

    Oracle sql 语句集锦

    根据给定的文件信息,以下是对Oracle SQL语句集锦中的关键知识点的详细解析: ### Oracle SQL基础操作 #### 数据定义语言(DDL) - **创建表(Create Table)**: `CREATE TABLE`语句用于在数据库中创建一个新的表...

    oracle PLSQL结构控制语句

    Oracle PL/SQL 结构控制语句详解 Oracle PL/SQL 结构控制语句是 PL/SQL 语言中的一种基本结构,用于控制程序的逻辑流程。结构控制语句可以分为两种:分支结构和循环结构。在本篇文章中,我们将详细介绍 Oracle PL/...

    Oracle-Decode()函数和CASE语句的比较

    Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...

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

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

    Oracle_case_when_用法

    在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ...

    case乱码解决

    mysql 中case when 遇到乱码解决。查询语句中含有case引起中文乱码解决方法

    SQL_Server,Oracle,DB2数据库SQL语句比较

    根据提供的文件信息,本文将对SQL Server、Oracle与DB2三种主流关系型数据库管理系统中的SQL语句进行详细的对比分析。这不仅有助于理解不同数据库系统之间的差异,也为开发人员提供了跨平台迁移时所需的必要知识。 ...

    Oracle 教程语句及相关代码 英文版.rar

    学习PL/SQL的语法,如块结构、控制流程语句(IF、CASE、LOOP等)、异常处理等。 11. 分区(Partitioning):对于大型表,分区是提高查询性能的有效方法,可以按照时间、范围或其他方式对数据进行分割。 12. 权限和...

    oracle 优化语句

    ### Oracle优化语句详解 #### 一、选择最有效率的表名顺序 在Oracle数据库中,优化查询语句的第一步就是确保表名顺序能够帮助提高执行效率。Oracle的解析器按照从右到左的顺序处理`FROM`子句中的表名。这意味着`...

    Oracle case函数使用介绍

    Oracle CASE 函数是一种在 SQL 查询中进行条件判断的表达式,它允许你在同一查询中根据不同的条件设置不同的返回值。这个函数在处理复杂的数据转换和分析时非常有用,尤其是在需要根据特定条件设置列的值时。以下是...

    45 个非常有用的 Oracle 查询语句(1).rar_oracle

    10. **函数应用**:Oracle提供了丰富的内置函数,如DATE函数处理日期时间,UPPER和LOWER转换大小写,DECODE和CASE表达式实现条件判断等。 11. **视图(View)**:视图是虚拟表,基于一个或多个表的查询结果,提供了...

    oracle到sqlserver存储过程语法转换

    - **Oracle**: 每条语句末尾通常需要分号`;`作为结束符。 - **SQL Server**: 语句后不需要写分号结束符。 **3. 数据类型转换** - **Oracle**: `NUMBER`, `VARCHAR2` - **SQL Server**: `DECIMAL`, `VARCHAR` *...

    SQL和oracle语句大全

    根据提供的文件内容,本文将对其中提及的SQL与Oracle语句进行详细解析,并结合实际应用场景进行阐述,旨在帮助读者更好地理解和掌握这些基本概念及其用法。 ### 一、数据操作 #### 1. SELECT(从数据库表中检索...

Global site tag (gtag.js) - Google Analytics