0

名前の付いたテーブルがtableあり、行の 1 つに次のtableような値の列があります。6,7,8,9

この行を選択したいのですが、これは私が期待したコードです:

SELECT * FROM table WHERE 8 IN (column)

うまくいきません。ただし、動作するコードは私を混乱させます:

SELECT * FROM table WHERE 6 IN (column)

いくつかの値を試してみたところ、リストの最初の要素だけが機能していることがわかりました。

どうすればいいの?

4

1 に答える 1

5

数値と文字列を比較しているためです。6,7,8,9数値へのキャストは になる6ので、do を行うと true になります6 IN (column)

関数を使用する必要がありFIND_IN_SETます:

SELECT * FROM `table` WHERE FIND_IN_SET(8, `column`);
于 2012-08-31T12:41:49.390 に答える