oracle 的case语句

xiaoxiao2026-06-04  11

ORACLE SQL中使用case来分别调用like和等号关联的操作

需求定义: 对于传入的字符串参数,需要对该字符串进行判断,如果字符串含有%号,则条件语句中应使用ORACLE的like语句,否则的话直接找相等的字符串。SQL语句:SELECT    *FROM        TABLEAWHERE          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语句。不知道有哪位高人有更好的方法。

转载请注明原文地址: https://www.6miu.com/read-5049587.html

最新回复(0)