eg是否有任何关键字或方法可以在下面执行:
SELECT CASE
WHEN ENAME like 'Arnold%' THEN DESIGNATION
/* something_which_can_exit_without_going_to_next_case */
ELSE ENAME
END AS "RESULT"
FROM EMP;
您了解CASE
的工作原理吗?它评估条件,直到第一次满足。考虑此查询:
SELECT (CASE WHEN ENAME like 'Arnold%' THEN DESIGNATION
ELSE ENAME
END) AS RESULT
FROM EMP;
当满足条件时,它返回DESIGNATION
,而ENAME
则返回。如果在不匹配的情况下需要NULL
,请省略ELSE
子句:
SELECT (CASE WHEN ENAME like 'Arnold%' THEN DESIGNATION
END) AS RESULT
FROM EMP;
如果您只需要匹配结果集中条件的ENAME
S,则使用WHERE
:
SELECT DESIGNATION AS RESULT
FROM EMP
WHERE ENAME like 'Arnold%';