をmysqlの文字列を爆発さ:返される値は、コンマでdelimeted文字列ですスプリット/私はのような変数に結果を置く(複雑な)サブクエリ作成した数値で
@mylist := (select ....)
を..サブクエリではconcat()も使用するため、値は文字列です。
where table.mycolumn IN('575030,655156,655157')
中:問題は@mylistが文字列であるため、MySQLはとしてクエリを読み込むということです
where table.mycolumn IN (@mylist)
:私はのような別のサブクエリで、この変数を使用したいと同じSQLで
where table.mycolumn IN(575030,655156,655157)
文字列を(数値)arに変換するにはどうすればよいですかレイ?
PS:私はあなたが機能FIND_IN_SET
(あなたが指定したMySQLバージョンでit is available)を使用することができますmysqlの5.1
@mylistの区切り記号に関係なく、これは機能しますか? – MontyPython
いいえ、ドキュメントによれば、セパレータを変更するパラメータはありません。 'FIND_IN_SET(id、REPLACE(@mylist、 'my_separator'、 '、'))'を追加することは可能ですが、抽出する値にカンマを含めることはできません。 – Batsu
私の問題を解決していただきありがとうございます! :-) – user2022678