當(dāng)我們?cè)谶M(jìn)行數(shù)據(jù)查詢時(shí),希望根據(jù)查詢結(jié)果給出相應(yīng)該的結(jié)論和評(píng)論,例如:根據(jù)工資或獎(jiǎng)金直接給出評(píng)論是優(yōu)秀員工,還是普通員工,在操作SQL查詢選擇時(shí)我們需要了解下SQL查詢語句的結(jié)構(gòu)及屬性:
SQL server 支持的查詢語句命令case when:
結(jié)構(gòu)如下:
case
when 條件1 then 結(jié)果1
when 條件2 then 結(jié)果2
……
end
實(shí)例:
use mydatabase
go
Select Username,Salary,評(píng)語是=
case
when Salay >3500 then '優(yōu)秀'
case
when Salay >=3000 and Salay<=3500 then '優(yōu)良'
case
wher Salay < 3000 then '需要努力'
end
from UserSalary
南昌網(wǎng)站建設(shè)公司工程師提醒但在access中,不支持case when 結(jié)構(gòu),使用 iif 代替:
結(jié)構(gòu)如下:
IIF(條件,結(jié)果1,結(jié)果2)
解釋:當(dāng)條件成立,取結(jié)果1;當(dāng)條件不成立,取結(jié)果2
語法
IIf(expr, truepart, falsepart)
IIf 函數(shù)的語法含有下面這些命名參數(shù):
部分 描述
expr 必要參數(shù)。用來判斷真?zhèn)蔚谋磉_(dá)式。
truepart 必要參數(shù)。如果 expr 為 True,則返回這部分的值或表達(dá)式。
falsepart 必要參數(shù)。如果 expr 為 False,則返回這部分的值或表達(dá)式。
說明
由于 IIf 會(huì)計(jì)算 truepart 和 falsepart,雖然它只返回其中的一個(gè)。因此要注意到這個(gè)副作用。例如,如果 falsepart 產(chǎn)生一個(gè)被零除錯(cuò)誤,那么程序就會(huì)發(fā)生錯(cuò)誤,即使 expr 為 True。
例:數(shù)據(jù)庫A表中有一個(gè)字段SEX代表性別其中1 代表男 0代表女
假如要在而面上顯示男或女的話可以使用如下語句:
select iif(sex=1,'男','女') as 性別 from A
sex=1里就返回男 sex=0時(shí)就返回女
set rs=server.createobject("adodb.recordset")
sql = "select UserName+'評(píng)語是:'+iif (Salary>3500 ,'優(yōu)秀',iif (Salary>=3000 and Salary<=3500 ,'優(yōu)良',iif (Salary<3000 ,'需要努力'))) as comment from [UserSalary]"
conn.execute(sql)
rs.open sql ,conn,1,2
response.Write(rs.recordcount)
for i=1 to rs.recordcount
if rs.eof then
exit for
end if
response.Write(rs("comment")&"
")
rs.movenext
next
rs.close
set rs=nothing
sql = "select UserName+'評(píng)語是:'+iif (Salary>3500 ,'優(yōu)秀','需要努力') as comment from [UserSalary]"
希望本文對(duì)廣大站長(zhǎng)或從事企業(yè)網(wǎng)站建設(shè)公司的團(tuán)隊(duì)有所幫助,如對(duì)此不太理解的,可以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高興與廣大站長(zhǎng)和從事企業(yè)網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗(yàn),分享是一件很快樂的事情。