MySQL では @ で始まるユーザ定義変数を使うことができます。
mysql> SET @v1=123, @s1="ABC"; Query OK, 0 rows affected (0.00 sec)
こんなふうに定義すると、SELECTなどで使うことができます。
ここで、上で定義した2つの変数と、未定義の変数をSELECT文で見てみると:
mysql> SELECT @v1, @s1, @t1; +------+------+------------+ | @v1 | @s1 | @t1 | +------+------+------------+ | 123 | ABC | 0x | +------+------+------------+
上で値をセットした v1, s1 は、それぞれセットしたとおりの値が表示されていますが、未定義の @t1 には "0x" と表示されてしまいました。
値が NULL だとそうなるのか?
mysql> SET @s1=NULL; mysql> SELECT @v1, @s1, @t1; …[さらに読む]