可在SQL语句中使用CASE表达式以便于处理表的数据显示。
要从ORG表中的DEPTNAME列将部门号更改为有意义的字,输入下列查询:
SELECT DEPTNAME,
CASE DEPTNUMB
WHEN 10 THEN 'Marketing'
WHEN 15 THEN 'Research'
WHEN 20 THEN 'Development'
WHEN 38 THEN 'Accounting'
Else 'Sales'
END AS FUNCTION
FROM ORG
结果为:
DEPTNAME FUNCTION
------------- -----------
Head OfficeMarketing
New EnglandResearch
Mid AtlanticDevelopment
South AtlanticAccounting
Great LakesSales
可使用CASE表达式来防止出现异常情况,如被零除等:
<pre name="code" class="sql"><span style="font-family: 'Comic Sans MS'; background-color: rgb(255, 255, 255);">SELECT LASTNAME,WORKDEPT FROM EMPLOYEE</span>
WHERE(CASE
WHEN BONUS+COMM=0 THEN NULL
ELSE SALARY/(BONUS+COMM)
END) >10