ITPUB??ì3
ITPUB论坛 » 移动及嵌入式数据库 » sql server中的T-sql语言的case怎么用啊.

标题: sql server中的T-sql语言的case怎么用啊.
离线 ppstone
资深会员



精华贴数 0
个人空间 0
技术积分 3810 (367)
社区积分 0 (1044962)
注册日期 2006-7-25
论坛徽章:1
ITPUB新首页上线纪念徽章     
      

发表于 2007-12-17 21:20 
sql server中的T-sql语言的case怎么用啊.

我自己写了两个case语句:
一个是简单的case语句:
declare   @i   int
set   @i=1
case   @i*@i
    when   1   then   print '@i=1 '
    when   2     then   print '@i=2 '
else   print '@i是另外的值 '
end   

提示错误,case语句附近有错误,但@i*@i是最简单的表达式

一个搜索的case语句
declare   @i   int   ,@sum   int
set   @i=1
case   
    when   @i=1   then   print   '@i=1 '
    when   @i=2   then   print   '@i=2 '
end
这个也不行,郁闷了,谁来写两个正确的给小弟参考下啊.


只看该作者    顶部
离线 lazycat001
高级会员



精华贴数 1
个人空间 0
技术积分 8291 (149)
社区积分 0 (1064177)
注册日期 2006-8-9
论坛徽章:6
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星ITPUB新首页上线纪念徽章 
      

发表于 2007-12-17 21:25 
CASE   具有两种格式:     
1.简单   CASE   函数将某个表达式与一组简单表达式进行比较以确定结果。     
2.CASE   搜索函数计算一组布尔表达式以确定结果。

语法   
简单   CASE   函数:   

CASE   input_expression   
        WHEN   when_expression   THEN   result_expression   
                [   ...n   ]   
        [     
                ELSE   else_result_expression   
        END   

CASE   搜索函数:   

CASE   
        WHEN   Boolean_expression   THEN   result_expression   
                [   ...n   ]   
        [     
                ELSE   else_result_expression   
        END   

参数   
input_expression   

是使用简单   CASE   格式时所计算的表达式。Input_expression   是任何有效的   Microsoft®   SQL   Server™   表达式。     

WHEN   when_expression   

使用简单   CASE   格式时   input_expression   所比较的简单表达式。When_expression   是任意有效的   SQL   Server   表达式。Input_expression   和每个   when_expression   的数据类型必须相同,或者是隐性转换。     

n   

占位符,表明可以使用多个   WHEN   when_expression   THEN   result_expression   子句或   WHEN   Boolean_expression   THEN   result_expression   子句。   

THEN   result_expression   

当   input_expression   =   when_expression   取值为   TRUE,或者   Boolean_expression   取值为   TRUE   时返回的表达式。result   expression   是任意有效的   SQL   Server   表达式。     

ELSE   else_result_expression   

当比较运算取值不为   TRUE   时返回的表达式。如果省略此参数并且比较运算取值不为   TRUE,CASE   将返回   NULL   值。Else_result_expression   是任意有效的   SQL   Server   表达式。Else_result_expression   和所有   result_expression   的数据类型必须相同,或者必须是隐性转换。   

WHEN   Boolean_expression   

使用   CASE   搜索格式时所计算的布尔表达式。Boolean_expression   是任意有效的布尔表达式。     

结果类型   
从   result_expressions   和可选   else_result_expression   的类型集合中返回最高的优先规则类型。有关更多信息,请参见数据类型的优先顺序。     

结果值   
简单   CASE   函数:   
计算   input_expression,然后按指定顺序对每个   WHEN   子句的   input_expression   =   when_expression   进行计算。     

返回第一个取值为   TRUE   的   (input_expression   =   when_expression)   的   result_expression。     
如果没有取值为   TRUE   的   input_expression   =   when_expression,则当指定   ELSE   子句时   SQL   Server   将返回   else_result_expression;若没有指定   ELSE   子句,则返回   NULL   值。     

CASE   搜索函数:   
按指定顺序为每个   WHEN   子句的   Boolean_expression   求值。   

返回第一个取值为   TRUE   的   Boolean_expression   的   result_expression。     
如果没有取值为   TRUE   的   Boolean_expression,则当指定   ELSE   子句时   SQL   Server   将返回   else_result_expression;若没有指定   ELSE   子句,则返回   NULL   值。


__________________
我不是大虾
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问