【SQL Server】IF文で条件分岐をする

SQL Serverで
 ・IF文で条件分岐をする方法
を記載します!

SQL Serverでは
 ・IF~ELSE文使用可能
です!

ですがSQL Serverでは
 ・IF~ELSE IF ~ELSE文使用不可
です!

PR

SQL ServerのIF文の構文

SQL ServerのIF文の構文

IF 条件
  BEGIN
    条件が一致した場合に実行する処理
    ・・・
    ・・・

  END
ELSE
  BEGIN
    条件が一致しなかった場合に実行する処理
    ・・・
    ・・・

  END

実行される構文が1行のみの場合は、 [BEGIN – END] を省略できます。

ですが可読性向上のために、[BEGIN – END]の記載をオススメします。

PR

SQL ServerのIF文の使用例

ここでは例として
 ・「サーバー名」を取得して
 ・「サーバー名」が「SERVER1」の場合、「後続の処理を実行します」を出力
 ・「サーバー名」が「SERVER1」でない場合、「処理を中止します」を出力
します。

DECLARE
	@serverName VARCHAR(30)

--サーバー名を取得
SET @serverName = (SELECT @@SERVERNAME)

--SERVER1だった場合にのみ後続のSQLを実行
IF @serverName = 'SERVER1'
	BEGIN
		SELECT '後続の処理を実行します'
	END
ELSE
	BEGIN
		SELECT '処理を中止します'
	END


上記を実行すると、IF文で条件分岐できたことを確認できます。

IF文で条件分岐
IF文で条件分岐
PR

参考①

上記に記載した以下のの詳細について、公式サイトをご確認ください。

●SQL ServerのIF文


●[BEGIN – END]について

PR

参考②

SQL Serverでは「IF~ELSE IF ~ELSE文」を使用できません。

IF~ELSE IF ~ELSE文」と同等の条件分岐は、「IF文を入れ子」にすることで実現可能です。

「IF文を入れ子」については、公式サイトの以下のページの「D. 入れ子になった IF…ELSE ステートメントを使用する」をご確認ください。

タイトルとURLをコピーしました