MySQL のカンマ区切り BLOB 内の数値の確認
次の表について考えてみましょう。
UID(int) | NUMBERS(blob) ---------------------- 1 | 1,13,15,20 2 | 3,10,15,20 3 | 3,15
特定の数字 (例: 3 や 15) が NUMBERS 内に存在するかどうかを確認します。 blob では、IN 演算子を利用できます。この演算子は、値がカンマ区切りの文字列に存在するかどうかをテストします。
解決策:
SELECT * FROM table WHERE 3 IN (NUMBERS) AND 15 IN (NUMBERS)
このクエリでは、IN 演算子が 2 回使用されています。
クエリは、両方の条件が満たされる場合にのみ行を返します。したがって、NUMBERS BLOB に 3 と 15 の両方が含まれているため、行 2 のみが選択されます。
補足:
このクエリの別の変形は次のとおりです。
SELECT * FROM table WHERE NUMBERS LIKE '%3%' AND NUMBERS LIKE '%15%'
ただし、大規模なデータ セットではパフォーマンスの問題が発生する可能性があるため、LIKE %% の使用はお勧めできません。 IN 演算子は、このタイプのチェックではより効率的です。
以上がMySQL のカンマ区切り BLOB 内の特定の数値を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。