where后边用case when,数据大了会不会数据库卡死啊?
- 能不能在Where 后面用Case when 语句
- sql中where后面用case的问题
- 可以在where后使用case when吗
- sql server 的 case when 能写在where 后面吗?不能的话用什么代替?
能不能在Where 后面用Case when 语句
能不能在Where 后面用Case when 语句
你应该这样写 select * from 表 where 1=1 and (case when a=1 then a when 表.字段='asdfasdf' then b end)='值
sql中where后面用case的问题
set @bzdw = isnull(@bzdw,’')
where <其他条件 and>
(@wldw=‘’ or @wldw = wldw)
可以在where后使用case when吗
报错语句
select *
from A, B
where B.name in
CASE
when A.id = 0 then ('aaa', 'bbb')
when A.id = 1 then ('bbb', 'ccc')
when A.id = 2 then ('ccc', 'ddd')
END
正确写法:将B.name in 放到CASE END 中
select *
from A, B
where
CASE
when A.id = 0 then B.name in ('aaa', 'bbb')
when A.id = 1 then B.name in ('bbb', 'ccc')
when A.id = 2 then B.name in ('ccc', 'ddd')
END
sql server 的 case when 能写在where 后面吗?不能的话用什么代替?
select id,age,case id when '1' then 'aaa' when '2' then 'bbb' else NULL end from test;
这是一个使用case when then的句子,其中id是一个字段,test是表明
其实where后用也行,例句
SELECT * FROM CUSTOMERS WHERE
DEPT_CODE = (CASE @ZTYPE WHEN 1 THEN @ZVALUE ELSE DEPT_CODE END)
AND
CITY = (CASE @ZTYPE WHEN 2 THEN @ZVALUE ELSE CITY END)