我注意到用户定义的变量有些奇怪:
假设我有这张桌子:
num_table
+---------+
| numbers |
| 3 |
| 6 |
| 9 |
+---------+
我可以创建一个逗号分隔的列表并将其存储在用户定义的变量中,如下所示:
SELECT @var := GROUP_CONCAT `numbers` from num_table;
这会将值分配3,6,9
给@var
.
这是奇怪的部分。跑步
SELECT 3 IN (@var)
返回 1,但正在运行
SELECT 6 IN (@var)
返回 0。
在我看来,它应该工作或不工作。知道为什么它只适用于列表中的第一个数字吗?