T-SQL で区切り文字を使用した文字列の分割
T-SQL では、文字列を分割することで長い文字列から特定の情報を抽出できます。区切り文字を使用します。この手法は、複雑な構造化データを扱う場合に特に役立ちます。
シナリオ例
で区切られた複数のキーと値のペアを持つ文字列を含む列を持つテーブルを考えてみましょう。パイプ (|) および等号 (=) 文字。目標は、「クライアント名」に関連付けられた特定の値のみを取得することです。
SUBSTRING 関数と STUFF 関数を使用した解決策
必要な値を抽出するには、 SUBSTRING 関数と STUFF 関数の組み合わせ:
Select col1, col2, LTRIM(RTRIM(SUBSTRING( STUFF(col3, CHARINDEX('|', col3, PATINDEX('%|Client Name =%', col3) + 14), 1000, ''), PATINDEX('%|Client Name =%', col3) + 14, 1000))) col3 from Table01
内訳ソリューションの
クエリでは次の手順が使用されます。
パフォーマンスに関する考慮事項
CharIndex と PatIndex の両方を次の目的で使用できます。区切り文字の識別、パフォーマンス テストでは、同様の結果が得られることが示されています。したがって、多くの場合、どちらを選択するかが優先されます。
以上がT-SQL の区切り文字列から特定の値を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。