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

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

PR

SQL ServerのIF文の構文

SQL ServerのIF文の構文

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

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

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

  END

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

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

PR

SQL ServerのIF文の使用例

ここでは例として「サーバー名」を取得して
 ・「サーバー名」が「SERVER1」の場合、「SERVER1に対して後続の処理を実行します」を出力
 ・「サーバー名」が「SERVER2」の場合、「SERVER2に対して後続の処理を実行します」を出力
 ・「サーバー名」が「上記以外」の場合、「処理を中止します」を出力

します。
※今回はサーバー名「DESKTOP-12345」で実行します。よって「処理を中止します」が出力されます。

DECLARE
	@serverName VARCHAR(30)

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

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


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

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

参考①

SELECT文の結果によって条件分岐することもできます。

詳細は以下の記事をご確認ください。

PR

参考②

WHILE文による繰り返し処理もできます。

詳細は以下の記事をご確認ください。

PR

参考③

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

●SQL ServerのIF文


●[BEGIN – END]について

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