如何使用sql server 2008用例

如何使用sql server 2008用例,sql,sql-server,Sql,Sql Server,我需要用数字来赋值,所以我尝试了下面的代码。但是它显示错误“关键字'case'附近的语法不正确” 我犯错误的地方…?请阅读 在那里,它声明“可以在允许有效表达式的任何语句或子句中使用大小写。例如,您可以在SELECT、UPDATE、DELETE和SET等语句中以及SELECT_list、In、WHERE、ORDER BY和HAVING等子句中使用大小写。”。这里的情况并非如此 回应您的评论(因为您不能在评论中换行) 抱歉编辑,我的兔子在我的键盘上跑来跑去。你不能单独使用Case,而是像这样使用它

我需要用数字来赋值,所以我尝试了下面的代码。但是它显示错误“关键字'case'附近的语法不正确”

我犯错误的地方…?

请阅读

在那里,它声明“可以在允许有效表达式的任何语句或子句中使用大小写。例如,您可以在SELECT、UPDATE、DELETE和SET等语句中以及SELECT_list、In、WHERE、ORDER BY和HAVING等子句中使用大小写。”。这里的情况并非如此

回应您的评论(因为您不能在评论中换行)


抱歉编辑,我的兔子在我的键盘上跑来跑去。

你不能单独使用Case,而是像这样使用它

declare @ww int
set @ww=1
SELECT CASE @ww 
  WHEN '1' THEN 'one'
ELSE NULL 
end

你的错误是:你没有在案例陈述之后写“结束”

CASE
是SQL Server中的一个表达式。它计算一个值。它不是一个控制流语句。你能举一个更现实的例子来说明你想要实现的目标吗?目前,我只是用肉眼优化了这一点,并将您的整个代码重新编写为
print='one'
(无论这是什么意思)我需要这段代码“如果(@fun\u level==1)@result='one'”如何获得它
declare @ww int

set @ww=1
if @ww = 1
SET @result = 'one'
declare @ww int
set @ww=1
SELECT CASE @ww 
  WHEN '1' THEN 'one'
ELSE NULL 
end