新聞中心
如果使用CASE表達(dá)式直接在SELECT語句中執(zhí)行條件邏輯,可以解決使用數(shù)據(jù)庫中的一些問題,下面將為您示例分析,供您參考:

創(chuàng)新互聯(lián)一直在為企業(yè)提供服務(wù),多年的磨煉,使我們在創(chuàng)意設(shè)計,成都全網(wǎng)營銷推廣到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗。我們擅長傾聽企業(yè)需求,挖掘用戶對產(chǎn)品需求服務(wù)價值,為企業(yè)制作有用的創(chuàng)意設(shè)計體驗。核心團(tuán)隊擁有超過十載以上行業(yè)經(jīng)驗,涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)服務(wù)器托管、成都app軟件開發(fā)公司、手機(jī)移動建站、網(wǎng)頁設(shè)計、網(wǎng)絡(luò)整合營銷。
問題
在SELECT語句中對數(shù)值進(jìn)行IF-ELSE操作。例如,要產(chǎn)生一個結(jié)果集,如果一個員工的工資小于等于$2000,就返回消息UNDERPAID,如果大于等于$4000,就返回消息OVERPAID,如果在兩者之間,就返回OK。結(jié)果集應(yīng)如下所示:
ENAME SAL STATUS ---------- ---------- ---------- SMITH 800 UNDERPAID ALLEN 1600 UNDERPAID WARD 1250 UNDERPAID JONES 2975 OK MARTIN 1250 UNDERPAID BLAKE 2850 OK CLARK 2450 OK SCOTT 3000 OK KING 5000 OVERPAID TURNER 1500 UNDERPAID ADAMS 1100 UNDERPAID JAMES 950 UNDERPAID FORD 3000 OK MILLER 1300 UNDERPAID
解決方案
使用CASE表達(dá)式直接在SELECT語句中執(zhí)行條件邏輯。
select ename,sal,
case when sal <= 2000 then 'UNDERPAID'
when sal >= 4000 then 'OVERPAID'
else 'OK'
end as status
from emp討論
CASE表達(dá)式可以針對返回值執(zhí)行條件邏輯??梢越oCASE表達(dá)式取別名,以返回更易讀的結(jié)果集。在本解決方案中,給CASE表達(dá)式取的別名是STATUS。ELSE子句是可選的,如果沒有使用ELSE,對于不滿足判斷條件的行,CASE表達(dá)式會返回NULL。
網(wǎng)站標(biāo)題:使用SQL中SELECT語句的使用條件邏輯
分享URL:http://fisionsoft.com.cn/article/djipshj.html


咨詢
建站咨詢
