因為業務需要需要使用到, 列中的字段或根據列值是否滿足某一條件,進行輸出。比如類似與 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;