SQLが期待どおりに動作しません。そして、それは同じような節の一つのためだと分かった。私は、次のSQLなぜ ""%、2、% "は" 1,2,3、 "`のようにゼロを返しますか?
select * from SomeTable Where "%,2,%" like ",1,2,3,";
を期待
は
select * from SomeTable;
と同じ結果を与えるが、それは実際には何も与えません。 ",1,2,3,"
を展開できません。memsqlを使用しているため、find_in_set
を使用することはできません。 エントリがカンマで区切られたリスト文字列であるかどうかを判断するために他の方法がありますか、何か間違っていましたか?
:
私は、あなたが本当に探していることだと思いますあなたは? &のようなものでなければなりません: 'select * from SomeTable Where"、1,2,3、 "like"%、2、% "; ' –
'% '文字を含む一致パターンは' LIKE'の後に来て、比較する値は前になります。 – EJP
MemSQLでこれを行う最善の方法は、JSON経由です。 json_array_contains_double(CONCAT( '['、column_with_list_of_ids、 ']')、2)FIND_IN_SET(2、column_with_list_of_ids)と同じ動作を得るために:あなたのデータはJSONとしてフォーマットされていない場合でも、あなたのような何かを行うことができます。 –