因为业务需要需要使用到, 列中的字段或根据列值是否满足某一条件,进行输出。比如类似与 select if() ……from……;(但是SQL Server 没有 if 表达式)
比如,如果Score>60 且 Score<70 则输出合格,用case when ……then……else……end
如果是contains 条件,比如类似 select if(contains('aaa')) …… from…… 则需要用 charindex 进行转化
接下来看看怎么达到 if 表达式效果:
熟悉一下case 用法
select case when 1>2 then '1大于2' else '1小于2' end;
输出 1小于2
charindex 用法(可以当作Contains 或like 用)
-- 单个字符 select charindex('a','123ab123') -- 字符串 select charindex('ab','123ab123')
然后结合起来就达到相应效果了
select case when charindex('a','123a123')>1 then 1 else 2 end;