标题:关于case语句的用法
只看楼主
九九艳阳天
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-4
 问题点数:0 回复次数:3 
关于case语句的用法


我是个新手,下面是书上的例子,可是我调试不出来。不知道哪里出的问题,请高手指教。

pubs是sql server里默认的数据库

use pubs
go
select "作者"=
Case state
when "ca" then "来自加利福尼亚"
when "ks" then "来自堪萨斯州"
when "mi" then "来自马萨诸塞州"
when "in" then "来自印第安纳州"
when "tn" then "来自田纳西州"
else "来自其他州"
end
au_fname+'.'+au_lname FROM authors ORDER BY state
go


报错:

服务器: 消息 170,级别 15,状态 1,行 10
第 10 行: 'au_fname' 附近有语法错误。

搜索更多相关主题的帖子: case 语句 用法 
2006-12-04 11:23
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
得分:0 
以下是引用九九艳阳天在2006-12-4 11:23:37的发言:


我是个新手,下面是书上的例子,可是我调试不出来。不知道哪里出的问题,请高手指教。

pubs是sql server里默认的数据库

use pubs
go
select "作者"=X au_fname+'.'+au_lname FROM authors ORDER BY state
go


报错:

服务器: 消息 170,级别 15,状态 1,行 10
第 10 行: 'au_fname' 附近有语法错误。


如果X为你的case语句块,那么整个select语法就不正确了,看题目意图,可能需要在CASE语句块后加“+”(加号)。
你试试看


老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2006-12-04 12:29
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 

select
作者=( Case state
when 'ca' then '来自加利福尼亚'
when 'ks' then '来自堪萨斯州'
when 'mi' then '来自马萨诸塞州'
when 'in' then '来自印第安纳州'
when 'tn' then '来自田纳西州'
else '来自其他州'
end ) ,au_fname+'.'+au_lname
FROM authors ORDER BY state
这样子就可以了,你的字符串不能用双引号,只能用单引号

26403021 sql群 博客 blog./user15/81152/index.shtml
2006-12-04 13:05
九九艳阳天
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-4
得分:0 
谢谢
谢谢三楼的朋友,按照你的方法我已经调试出来结果了,关于case语句,我还需要再研究一下。也谢谢二楼朋友的回复。

从新开始,这次是真的!从Sql server下手~~~~~ _________________________________________
2006-12-04 14:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-107129-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.283558 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved