2016-09-18 4 views
0

文字列変数@IDSがあります。テーブルuserのレコードをフィルタリングしようとしていますが、MySqlを初めて使用して以来私を助けてくれません。コンマ区切り文字列を使用したフィルタレコード

あなたはパラメータの順序切り替える必要があり
SET @IDS = '1,2,3'; 
select * from user where find_in_set(@IDS,ID); 
+2

機能を正しく使用していることを確認するために、マニュアルを自分で読むのはどれほど難しいですか? – Barmar

答えて

1

documentationから

SELECT * 
FROM user 
WHERE FIND_IN_SET(ID, @IDS); 

:1の範囲の値を返します

FIND_IN_SET(STR、strlist)
文字列strがN個の部分文字列で構成された文字列リストstrlistにある場合はNにする

つまり、最初のパラメータは、2番目のパラメータである文字列のCSVリストで検索しようとしている文字列です。 ID@IDSにある場合、一致するインデックス(1から始まる)が返されます。一致するものが見つからない場合は、ゼロが返されます。

関連する問題