ホームページ > データベース > mysql チュートリアル > SQL Server のカンマ区切り列内の値を効率的に検索するにはどうすればよいですか?

SQL Server のカンマ区切り列内の値を効率的に検索するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-09 17:36:42
オリジナル
256 人が閲覧しました

How to Efficiently Search for Values within Comma-Delimited Columns in SQL Server?

カンマ区切りの SQL Server 列の値を効率的に検索する

このガイドでは、SQL Server 2008 でカンマ区切り列内に特定の値が存在する行を効率的に見つける方法を説明します。 たとえば、「猫、犬、雀、鱒、牛、タツノオトシゴ」を含む列があるとすると、「猫」が存在するかどうかを判断する必要があります。

IN キーワードは正確な値のみと一致するため、ここでは不適切です。 CONTAINS() または LIKE を単独で使用するメソッドは、部分一致または余分なカンマにより不正確な結果が生じる危険性があります。

解決策:

最も信頼性の高いアプローチは、文字列操作と LIKE 演算子を使用します。

WHERE (',' RTRIM(MyColumn) ',') LIKE '%,' @search ',%'

説明:

  1. カンマの追加: 列値 (',' RTRIM(MyColumn) ',') の前後にカンマを追加します。
  2. 末尾のスペースを削除: RTRIM() は、列の値から末尾のスペースを削除し、偽陰性を防ぎます。
  3. LIKE 演算子: ワイルドカード (LIKE) を使用した % 演算子は、検索語の完全一致を保証し、リストの先頭、中間、または末尾の値を正しく処理し、無視します。先頭または末尾のカンマ。

このメソッドは、位置や余分なカンマの存在に関係なく、カンマ区切りリスト内の検索値の正確な識別を保証します。

以上がSQL Server のカンマ区切り列内の値を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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