SQL Server - 変数の使い方(旧版)

変数の宣言、値の代入、表示方法を解説します。

変数の宣言方法

DECLARE ステートメント
DECLARE @変数名 変数の型
DECLARE @変数名 変数の型 = 初期値

カンマで区切ると、まとめて宣言できます。

DECLARE @変数名 変数の型
       ,@変数名 変数の型
       ,@変数名 変数の型
DECLARE @変数名 変数の型 = 初期値
       ,@変数名 変数の型 = 初期値
       ,@変数名 変数の型 = 初期値

サンプルコード

--INT型の変数「@value01」を宣言
DECLARE @value01  INT

--VARCHAR(100)型の変数「@value02」を宣言
DECLARE @value02  VARCHAR(100)

--INT型の変数「@value21」を宣言し、初期値として 1 を代入
DECLARE @value21  INT = 1

--VARCHAR(100)型の変数「@value22」を宣言し、初期値として 'A' を代入
DECLARE @value22  VARCHAR(100) = 'A'

変数に値を代入

SETを使用します。
SET @変数名 = 設定したい値

サンプルコード

--変数「@value01」に 3 を代入
SET @value01 = 3

SELECT結果を変数に代入

演算子 = を使用します。
SELECT @変数名 = 列名 FROM テーブル名
SELECT @変数名1 = 列名1
      ,@変数名2 = 列名2
  FROM テーブル名

サンプルコード

--sys.objects テーブル、object_id の最小値を @value01 に代入
SELECT  @value01 = MIN(object_id)
        FROM sys.objects

変数の内容を表示

PRINT を使用すると、クライアントにメッセージとして返されます。
PRINT @変数名
PRINT (@変数名)

サンプルコード

--変数宣言
DECLARE @value21  INT = 1
DECLARE @value22  VARCHAR(100) = 'A'

--PRINT で確認
PRINT '--確認--'
PRINT @value21
PRINT @value22

--SELECT で確認
SELECT @value21 AS value21の確認
      ,@value22 AS value22の確認

PRINT の出力結果

メッセージタブ内に表示されます。 SQL Server Management Studio - PRINT

SELECT の出力結果

結果タブ内に表示されます。 SQL Server Management Studio - SELECT

サンプルコード

--変数の宣言
DECLARE @value01  INT
DECLARE @value02  VARCHAR(100)


--変数をまとめて宣言
DECLARE  @value11  INT
        ,@value12  VARCHAR(100)


--変数の宣言と初期化を同時に
DECLARE @value21  INT = 1
DECLARE @value22  VARCHAR(100) = 'A'
PRINT '--確認--'
PRINT @value21
PRINT @value22


--変数をまとめて宣言 + 初期化を同時に
DECLARE  @value31  INT = 2
        ,@value32  VARCHAR(100) = 'B'
PRINT '--確認--'
PRINT @value31
PRINT @value32


--変数に値を代入
SET @value01 = 3
SET @value02 = 'C'
PRINT '--確認--'
PRINT @value01
PRINT @value02


--SELECT結果を変数に代入
SELECT   @value01 = MIN(object_id)
        ,@value02 = MIN(name)
  FROM sys.objects
PRINT '--確認--'
PRINT @value01
PRINT @value02

サンプルコードの実行方法

サンプルコードのダウンロード

検証環境

関連ページ

改訂履歴