ホームページ >データベース >mysql チュートリアル >MySQL のカンマ区切り BLOB 内の特定の数値を確認するにはどうすればよいですか?

MySQL のカンマ区切り BLOB 内の特定の数値を確認するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-17 07:53:03637ブラウズ

How to Check for Specific Numbers in a Comma-Separated Blob in MySQL?

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 回使用されています。

  • 3 IN (NUMBERS) は、数字の 3 が NUMBERS 内にあるかどうかを確認します。 blob.
  • 15 IN (NUMBERS) は、数値 15 が NUMBERS blob 内にあるかどうかを確認します。

クエリは、両方の条件が満たされる場合にのみ行を返します。したがって、NUMBERS BLOB に 3 と 15 の両方が含まれているため、行 2 のみが選択されます。

補足:

このクエリの別の変形は次のとおりです。

SELECT * FROM table WHERE NUMBERS LIKE '%3%' AND NUMBERS LIKE '%15%'

ただし、大規模なデータ セットではパフォーマンスの問題が発生する可能性があるため、LIKE %% の使用はお勧めできません。 IN 演算子は、このタイプのチェックではより効率的です。

以上がMySQL のカンマ区切り BLOB 内の特定の数値を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。