変数の宣言、値の代入、表示方法を解説します。
最新の記事があります
変数の宣言方法
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 の出力結果
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
サンプルコードの実行方法
- SQL Server Management Studioのクエリエディタにサンプルコードを入力し、実行します。
- システムテーブルを使用しているため、テーブルのCREATE等は必要ありません。
サンプルコードのダウンロード
検証環境
- Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64) Sep 23 2020 16:03:08 Copyright (C) 2019 Microsoft Corporation Express Edition (64-bit) on Linux (Ubuntu 16.04.7 LTS) <X64>
- Docker image: mcr.microsoft.com/mssql/server:2019-CU8-ubuntu-16.04
- Docker Desktop 3.1.0(51484)
- Docker Engine 20.10.2
- Microsoft SQL Server Management Studio v18.8(15.0.18369.0)
- Microsoft Windows 10 Pro Version 20H2 OS Build 19042.844 Experience: Windows Feature Experience Pack 120.2212.551.0