我注意到一些奇怪的關於用戶定義的變量:古怪的行爲
可以說我有這個表:
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
在我看來,它應該工作或不工作。任何想法爲什麼它只適用於列表中的第一個數字?
我會想象它將'3,6,9'轉換爲數字,最終忽略了第一個非數字字符以後的任何內容,因此最終以3結尾。 – 2011-05-10 15:59:50