case when 用法。。求救~~sos

q461714878 2011-03-18 11:42:11
use tempdb 
go
declare @a int
set @a=1
select case @a
when 1 then print 'a'
else print 'b'
end

出现错误。
我想实现类似于C#中的switch case 的用法。就是有一个变量,根据不同的值来执行不同的sql命令。
请高手来用 case when then 帮忙解决。
...全文
128 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
q461714878 2011-03-21
  • 打赏
  • 举报
回复
thanks all
--小F-- 2011-03-18
  • 打赏
  • 举报
回复
(case when @a = 1 then 'a' else 'b' end)
Mr_Nice 2011-03-18
  • 打赏
  • 举报
回复
declare @a int 

set @a=1

print (case when @a = 1 then 'a' else 'b' end)
ljking0731 2011-03-18
  • 打赏
  • 举报
回复
declare @a int
set @a=1
print(case @a when 1 then 'a' else 'b' end)
ILOVE_ASPNET 2011-03-18
  • 打赏
  • 举报
回复


DECLARE @TEST VARCHAR(50)
SET @TEST=2
IF(@TEST=1)
SELECT * FROM GoodsChecks
ELSE IF(@TEST=2)
SELECT * FROM WarehouseOnShelfLists
ELSE
SELECT * FROM PurchaseReturnedGoods

sglogin 2011-03-18
  • 打赏
  • 举报
回复

declare @a int
set @a=1

declare @sql varchar(500)
if @a=1 set @sql='select 0'
else set @sql='select 1'
exec @sql
叶子 2011-03-18
  • 打赏
  • 举报
回复

declare @a int
set @a=1

select case when @a=1 then 'a' else 'b' end
sglogin 2011-03-18
  • 打赏
  • 举报
回复
先拼语句,然后exec @SQL
熙熙 2011-03-18
  • 打赏
  • 举报
回复
then 后面只能是结果,不能涉及操作

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧