SQL Server中的Case表达式问题.
SQL Server中的Case语句支持变量吗?如果不支持,那SQL的Case语句功能不算强大;如果支持,以下语句在Isql中执行说Case附近有语法错误:
Declare @Case1 Int
Set @Case1=1
Case @Case1
When 0 Then Print '为0'
When 1 Then Print '为1'
End
问题点数:20、回复次数:4Top
1 楼wolfAone(30,奋斗成男人)回复于 2002-04-17 09:01:24 得分 0
在SQL Server2000数据库系统管理 一书中称:Case语句中的表达式可以由常量,列名,函数,子查询和算术运算符,位运算符,字符串运算符等组成,就是没有变量.不会"变量"在等里面吧,:)Top
2 楼newyj(吴刚vs西西弗)回复于 2002-04-17 09:28:55 得分 10
Declare @Case1 Int
declare @s char(10)
Set @Case1=1
set @s=Case @Case1
When 0 Then '为0'
When 1 Then '为1'
End
print @s
Top
3 楼newyj(吴刚vs西西弗)回复于 2002-04-17 09:32:21 得分 0
uses pubs
select title_id,
case substring(title_id,2)
when 'BU' then 'busiess'
when 'MC' then 'modern Cooking'
when 'PC' then 'popular computing'
end as BookType
from titles
试试效果把Top
4 楼yangxd(Golden)回复于 2002-04-17 09:33:31 得分 10
Sql Server的Case不支持返回语句和条件的操作,它只能够返回值,所以你要先用赋值变量记住返回值,然后再输出结果即可。Top




