一个简单的select case写法,试好几遍总是不对。
declare @StepNo char(10)select @StepNo
case '00001'
begin
.......
end
case '00002'
begin
.......
end
end select这种情况该怎么写?
declare @StepNo char(10)select @StepNo
case '00001'
begin
.......
end
case '00002'
begin
.......
end
end select这种情况该怎么写?
解决方案 »
- 救命!!sql报错。Location: p:\sql\ntdbms\storeng\drs\
- 这两种连接有什么不同?
- 求Orders表中的最后十条纪录
- sql随机抽奖问题
- 请问如何做系统升级,也就是如果要给之前发布给用户的数据库新增表,列,INDEX,TRIGGER,STORE PROCEDURE等等,但又不能删除用户以前的数据,请
- MS SQL Server 2000 下建立 SYBASE 11.5 的链接服务器,可查询,不可增删除操作。求解。
- 重量级难题!
- 再问一题,怎样从a表中取10条记录,插入到b表中并修改其中一个字段的值?谢谢解答。
- 用select语句取出来的值不对,怪????
- 我的master库,不慎给删掉,我又没有备份它,我还有办法还原了吗?谢谢1
- 排序问题(order by...)
- |javamy| 我有一个表字段设置了为不允许为空,但我现在要插入空值,我可以在SQL界面里“允许为空”勾上,但如何用语句来执行 谢谢
看不懂!case这样用的:select 前面的其他字段,结果=case when 字段=‘1’ then ‘ok’
when 字段=‘2’ then ‘不ok’
endfrom tb
select case when @StepNo='00001' then ... when '00002' then ... end
--弱弱的回答下
--如果是值判断,用case
select case @StepNo WHEN '00001' THEN '情况1'
WHEN '00002' THEN '情况2' END--如果你是想根据@StepNo不同执行不同的select语句
--那么就用if else
IF @StepNo = ‘00001’
BEGIN
select...
END
ELSE IF @StepNo = '00002'
BEGIN
select ...
END
ELSE
BEGIN
SELECT...
END
--case when基本语法
SELECT <myColumnSpec> =
CASE
WHEN <A> THEN <somethingA>
WHEN <B> THEN <somethingB>
ELSE <somethingE>
END
--or
select col,
case when @StepNo='00001' then ...when StepNo='00002' then ..else ...end