select fld0 , case when charindex('B',fld0 ) >0 then fld2 else fld1 end as x from 表
select case when fld0 like '%B%' then x else fld2 end fld2, case when fld0 not like '%B%' then x else fld1 end fld1 from tb
这段代码效率较低,因为把字段放到函数里会迫使SQL放弃索引,进行全盘扫描。建议采用(#10楼) select case when fld0 like '%B%' then x else fld2 end fld2, case when fld0 not like '%B%' then x else fld1 end fld1 from tb where fld0 like '%B%'
from
表
case when fld0 not like '%B%' then x else fld1 end fld1
from tb
select case when fld0 like '%B%' then x else fld2 end fld2,
case when fld0 not like '%B%' then x else fld1 end fld1
from tb where fld0 like '%B%'