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

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

昨天给出的SQL语句其实有bug,如果取得的结果>1行,则会报

「ORA-01427: 単一行副問合せにより2つ以上の行が戻されます」

其实昨天的问题想复杂了,根部不需要用case语句来进行判断。直接使用LIKE语句就可以了,
如果'KEYWORD-COLUMN2'中包含%,则会进行模糊查询。如果不包含%好,LIKE语句的SELECT
结果
        COLUMN2  like 'KEYWORD-COLUMN2'
 和
        COLUMN2  = 'KEYWORD-COLUMN2'
结果一样。

SELECT
    *
FROM
        TABLEA
WHERE  
       COLUMN1 =  'KEYWORD-COLUMN1'     AND
       COLUMN2  like 'KEYWORD-COLUMN2';

你可能感兴趣的:(ORACLE SQL中使用case来分别调用like和等号关联的操作 (2))