• 首页
  • 公司简介
  • 网站建设
  • 网站推广
  • 成品网站
  • 主机空间
  • 网站套餐
  • 成功案例
  • 付款方式
  • 售后服务
当前位置 首页-> 网站建设知识
case和iif在数据查中的使用方法和注

当我们在进行数据查询时,希望根据查询结果给出相应该的结论和评论,例如:根据工资或奖金直接给出评论是优秀员工,还是普通员工,在操作SQL查询选择时我们需要了解下SQL查询语句的结构及属性:
SQL server 支持的查询语句命令case when:
结构如下:
case
when 条件1 then 结果1
when 条件2 then 结果2
……
end
实例:
use mydatabase
go
Select Username,Salary,评语是=
case
when Salay >3500 then '优秀'
case
when Salay >=3000 and Salay<=3500 then '优良'
case
wher Salay < 3000 then '需要努力'
end
from UserSalary
鞍山网站建设公司工程师提醒但在access中,不支持case when 结构,使用 iif 代替:
结构如下:
IIF(条件,结果1,结果2)
解释:当条件成立,取结果1;当条件不成立,取结果2
语法
IIf(expr, truepart, falsepart)
IIf 函数的语法含有下面这些命名参数:
部分 描述
expr 必要参数。用来判断真伪的表达式。
truepart 必要参数。如果 expr 为 True,则返回这部分的值或表达式。
falsepart 必要参数。如果 expr 为 False,则返回这部分的值或表达式。
说明
由于 IIf 会计算 truepart 和 falsepart,虽然它只返回其中的一个。因此要注意到这个副作用。例如,如果 falsepart 产生一个被零除错误,那么程序就会发生错误,即使 expr 为 True。
例:数据库A表中有一个字段SEX代表性别其中1 代表男 0代表女
假如要在而面上显示男或女的话可以使用如下语句:
select iif(sex=1,'男','女') as 性别 from A
sex=1里就返回男 sex=0时就返回女
set rs=server.createobject("adodb.recordset")
sql = "select UserName+'评语是:'+iif (Salary>3500 ,'优秀',iif (Salary>=3000 and Salary<=3500 ,'优良',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+'评语是:'+iif (Salary>3500 ,'优秀','需要努力') as comment from [UserSalary]"


鞍山做网站第一品牌--·鞍山中域网络,专业专注于鞍山建网站|鞍山网站设计,致力于为用户提供高品质的网络产品和优质的服务是我们始终追求的目标!


 

联系我们  |   成品网站 new!  |   付款方式  |   工作机会  |  
 <<中华人民共和国增值电信业务经营许可证>>版权所有 2007-2018 鞍山中域网络服务有限公司 All Rights Reserved
 售前咨询电话:0412-2222086 技术支持电话(24×7):13889725831(王先生)  广告勿扰
 地址:辽宁省鞍山市铁东区站前财富中心D座2302室   咨询QQ:  695579177   广告勿扰
  辽ICP备16016615号 AAA信用单位 新网优秀合作伙伴