gtrq.net
当前位置:首页>>关于sql server 的 case when 能写在where 后面吗?不...的资料>>

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 @ZTYP...

可以 的 where 字段值 = case when ...

你应该这样写 select * from 表 where 1=1 and (case when a=1 then a when 表.字段='asdfasdf' then b end)='值

1> 2> SELECT * FROM t_test_sub; 3> GO id main_id value ----------- ----------- ---------- 2 12 TWOTWO 11 21 AAAA 12 22 BBBB 13 NULL CCCC 14 NULL DDDD 15 NULL EEEE (6 行受影响) 1> UPDATE t_test_sub set value = 'test' WHERE case ...

你应该这样写 select * from 表 where 1=1 and (case when a=1 then a when 表.字段='asdfasdf' then b end)='值

你应该这样写 select * from 表 where 1=1 and (case when a=1 then a when 表.字段='asdfasdf' then b end)='值

不能,case when 只能用在查询中, 就好比三元运算符

where 后面加上CASE是可以的,但要注意括号,表示是一个订算结果。 示例如下: CREATE TABLE #temp ( id INT IDENTITY(1, 1) , name VARCHAR(20) , startYear INT , startMonth INT ) INSERT INTO #temp SELECT 'z' , '2010' , '12' UNION ALL S...

不能放在where里边,像你这样的,用子查询去查会比较容易select * from where 字段 in(select case when 字段>1 then 1 else 0 end from 表)

举个例子就明白了,例如在员工的工资表把员工的工资分成等级 1000以下为低薪,1000-2000为中等,其他为高薪 select (case when salary 1000 and salary < 2000 then '中等' else '高薪' end ) as 工资等级 from employee 这样,工资等级就可以当...

网站首页 | 网站地图
All rights reserved Powered by www.gtrq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com