Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
Case When
IIF函数只对内部表和ACCESS格式的外部数据源有效,对于SQL SERVER这样的外部数据源,需要使用Case When语句进行条件判断。
语法1
Case 表达式
When 比较值1 Then 返回值1
When 比较值2 Then 返回值2
When 比较值3 Then 返回值3
....
Else 默认返回值
End
当表达式等于比较值1时,则得到返回值1,当表达式等于比较值2时,则得到返回值2,其余类推;当比较结束,没有符合的比较值时,则得到默认返回值。
例如
Select CName As 客户名称,
(Case CLevel
When 1 Then 'VIP客户'
When 2 Then '高级客户'
When 3 Then '普通客户'
Else '错误等级'
End) As 客户等级 From {客户}
可以看到Case When语句其实比IIF函数更为清晰,同时也可以看出,Select语句其实可以分多行编写的。
语法2
Case
When 表达式1 Then 返回值1
When 表达式2 Then 返回值2
When 表达式3 Then 返回值3
...
Else 默认返回值
End
当表达式1成立时,则得到返回值1,当表达式2成立时,则得到返回值2,其余类推;没有表达式成立时,则得到默认返回值。
例如:
Select 姓名,
(Case
When 体重 < 40 Then '偏瘦'
When 体重 > 50 Then '偏胖'
Else '适中'
End) As 体型 From {学生}
座个沙发先!
晕迟了!