ユーザー定義変数について奇妙なことに気づきました。
私がこのテーブルを持っているとしましょう:
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を返します。
うまくいくか、うまくいかないかのどちらかだと私には思えます。リストの最初の番号でのみ機能する理由はありますか?