1. 在选择列中的实例
select
(case t.ca04_field_id
when '1021' then '1021000'
when '1022' then '1022000'
else '7777'
end) as field
from ta_document15 t
2.在where条件中
由于case when 只能返回值,不能返一个true OR false ,
所以在where条件中,可以采用下边的方法:
where
(case XXX when A then 1
when B then 2
else 0
end)=1
另,case+like的用法:
declare @IsShow Int
select @IsShow=1
如是不同的操作符可用下面的方式
Select *
From SO
Where (SONUM = case @IsShow When 1 Then 'D3990001 ' end ) or (SONUM like case @IsShow When 2 Then 'D3A370261 ' end )
如是相同的操作符可用下面的方式
Select *
From SO
Where SONUM like ( case @IsShow When 1 Then 'D3990001% ' When 2 Then 'D3A370261% ' end )
select
(case t.ca04_field_id
when '1021' then '1021000'
when '1022' then '1022000'
else '7777'
end) as field
from ta_document15 t
2.在where条件中
由于case when 只能返回值,不能返一个true OR false ,
所以在where条件中,可以采用下边的方法:
where
(case XXX when A then 1
when B then 2
else 0
end)=1
另,case+like的用法:
declare @IsShow Int
select @IsShow=1
如是不同的操作符可用下面的方式
Select *
From SO
Where (SONUM = case @IsShow When 1 Then 'D3990001 ' end ) or (SONUM like case @IsShow When 2 Then 'D3A370261 ' end )
如是相同的操作符可用下面的方式
Select *
From SO
Where SONUM like ( case @IsShow When 1 Then 'D3990001% ' When 2 Then 'D3A370261% ' end )