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

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

Mary-Kate Olsen
リリース: 2024-11-17 07:53:03
オリジナル
635 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート