嘿 这样写怎么不行(SQL 菜鸟)?

suxiaoguai 2002-12-19 05:42:01
我写一个存储过程 我根据输入的参数来判断要执行那一段语句
我想用case来写 于是我写了下面这段代码测试一下可行性
declare @a int
set @a=1
case @a
when 1 then
select * from Mytable1
when 2 then
select * from MyTable2
end

可是出错了 我想知道错误的原因
我知道 select case MyColunn 的用法 是不是没有我上面的用法呢? sql的case不能跟编程语言的case一样吗?
...全文
65 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
outer2000 2002-12-19
  • 打赏
  • 举报
回复
sql里的CASE 和程序的差别很大,唯一的办法是用
IF
BEGIN
END
renmao 2002-12-19
  • 打赏
  • 举报
回复
不行的,你可以用if 代替
sql的case
是这样用的
USE pubs
GO
SELECT 'Price Category' =
CASE
WHEN price IS NULL THEN 'Not yet priced'
WHEN price < 10 THEN 'Very Reasonable Title'
WHEN price >= 10 and price < 20 THEN 'Coffee Table Title'
ELSE 'Expensive book!'
END,
CAST(title AS varchar(20)) AS 'Shortened Title'
FROM titles
ORDER BY price
GO
可以看看帮助

34,590

社区成员

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

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