「MySQL」ユーザー定義変数を利用する方法

環境
Windows 11 Pro 21H2 64bit
MySQL 8.0.30

書式
SET @var_name = expr [, @var_name = expr] …
ユーザー定義変数を設定する方法の 1 つに、SET ステートメントを発行する方法が挙げられます。
SET では、= または := のどちらかを割り当て演算子として使用できます。

使用例1
変数を作ります

mysql> SET @var_name = 'StudySkill';
Query OK, 0 rows affected (0.05 sec)

変数を参照します。

mysql>  SELECT @var_name;
+------------+
| @var_name  |
+------------+
| StudySkill |
+------------+
1 row in set (0.00 sec)

使用例2
SET 以外のステートメントで、ユーザー変数に値を割り当てることもできます。この場合、= は SET 以外のステートメントでは比較演算子 = として扱われるので、
割り当て演算子にはこちらではなく、:= を使用する必要があります。

mysql>  SET @tA=11, @tB=22, @tC:=44;
Query OK, 0 rows affected (0.04 sec)

mysql> SELECT @tA, @tB, @tC, @tD := @tA+@tB+@tC;
+------+------+------+--------------------+
| @tA  | @tB  | @tC  | @tD := @tA+@tB+@tC |
+------+------+------+--------------------+
|   11 |   22 |   44 |                 77 |
+------+------+------+--------------------+
1 row in set, 1 warning (0.02 sec)

 

MySQL

Posted by arkgame