SQL Server テーブル列の文字列置換を実行します
大規模なデータセットを扱う場合、列値の特定の部分を変更することが必要になることがよくあります。これには、特定の文字列を新しい文字列に置き換えることも含まれます。 SQL Server テーブルの場合、REPLACE() 関数は、このような文字列置換を実行する簡単かつ効率的な方法を提供します。
質問:
テーブルに、部分的に変更する必要があるパスを含む列が含まれているとします。タスクは、パスの残りの部分を変更せずに、その列のすべてのレコード内の特定の部分文字列を変更することです。
解決策:
SQL Server の REPLACE() 関数は、この目的のために設計されています。 3 つのパラメータを受け入れます:
パスの一部を置き換えるには、次の更新ステートメントを使用できます:
<code class="language-sql">UPDATE my_table SET path = REPLACE(path, 'oldstring', 'newstring')</code>
使用法:
たとえば、列「path」に次の値が含まれている場合:
<code>/data/folder1/subfolder1/file1.txt /data/folder2/subfolder2/file2.txt /data/folder3/subfolder3/file3.txt</code>
文字列「folder2」を「newfolder2」に置き換えたい場合は、次の更新ステートメントでこれを実現します。
<code class="language-sql">UPDATE my_table SET path = REPLACE(path, 'folder2', 'newfolder2')</code>
このステートメントを実行すると、「パス」列の更新された値は次のようになります:
<code>/data/folder1/subfolder1/file1.txt /data/newfolder2/subfolder2/file2.txt /data/folder3/subfolder3/file3.txt</code>
以上がSQL Server の列内の部分文字列を効率的に置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。