在IF语句中使用'LIKE'

时间:2015-09-18 12:24:15

标签: sql oracle if-statement sql-like

我需要使用条件对表进行排序。我使用了以下声明,

select * from table1 order by if (col1 like '%Cochin%', substr(col1,1,4), col1)

但是我得到了一个错误,“错过右括号”。

2 个答案:

答案 0 :(得分:1)

使用像这样的CASE语句:

SELECT * 
    FROM table1 
    ORDER BY CASE WHEN col1 LIKE '%Cochin%' THEN SUBSTR(col1,1,4)
        ELSE col1 END

答案 1 :(得分:0)

如果您使用的是Oracle,
试试这个:

    IF NOT REGEXP_LIKE(string, pattern) THEN
    .... 
    END IF;