我需要使用条件对表进行排序。我使用了以下声明,
select * from table1 order by if (col1 like '%Cochin%', substr(col1,1,4), col1)
但是我得到了一个错误,“错过右括号”。
答案 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;