1. ホーム
  2. データベース
  3. エムエスエル

SQL Serverでの判定文(IF ELSE/CASE WHEN)の使用例

2022-01-18 20:28:09

SQL Server の判定文 (IF ELSE/CASE WHEN)

実行順序は、上から下へ、左から右へ、で、前の条件が満たされると(次の条件が満たされるかどうかにかかわらず)前の条件が実行され、最初の条件が満たされず、2番目の条件が満たされると、2番目の条件が実行されます。


1. IF ELSE

SELECTでは使用できず、ブロックのみ、例えば:

IF ...

開始

... (コードブロック)

終了

ELSE (ここではELSE IFがないことに注意。次のブロックではIF判定でしか実装できない)

BEGIN

... (コードブロック)

終了

コラム

declare @num int -- 変数を定義する
set @num=1 --変数の代入
if(@num>10)
始める
select * from Table 1
終了
その他
始める
if(@num<0)
select Top(20) * from Table 2
さもないと
プリント @num
終了

2. case when then else end

SELECTでも使用可能だが、ENDの末尾を含むこと

CASE ...

WHEN ... (条件/ブロック) THEN ... (戻り値/ケース when then else end)

ELSE ... (省略可)

終了

コラム

declare @num int -- 変数を定義する
set @num=111 --変数の代入
select @num,
場合
when @num<=100 then case
when @num>=80 then 'A'
when @num>=60 then 'B'.
else 'C' end
when @num>=200 then 'エクセレント'
else 'haha'
終了

<リンク