ホームページ > データベース > mysql チュートリアル > SQL Server の列内の部分文字列を効率的に置換するにはどうすればよいですか?

SQL Server の列内の部分文字列を効率的に置換するにはどうすればよいですか?

DDD
リリース: 2025-01-09 07:01:42
オリジナル
606 人が閲覧しました

How Can I Efficiently Replace Substrings Within a Column in SQL Server?

SQL Server テーブル列の文字列置換を実行します

大規模なデータセットを扱う場合、列値の特定の部分を変更することが必要になることがよくあります。これには、特定の文字列を新しい文字列に置き換えることも含まれます。 SQL Server テーブルの場合、REPLACE() 関数は、このような文字列置換を実行する簡単かつ効率的な方法を提供します。

質問:

テーブルに、部分的に変更する必要があるパスを含む列が含まれているとします。タスクは、パスの残りの部分を変更せずに、その列のすべてのレコード内の特定の部分文字列を変更することです。

解決策:

SQL Server の REPLACE() 関数は、この目的のために設計されています。 3 つのパラメータを受け入れます:

  1. 変更対象の列
  2. 置換する部分文字列
  3. 文字列を置換

パスの一部を置き換えるには、次の更新ステートメントを使用できます:

<code class="language-sql">UPDATE my_table
SET path = REPLACE(path, 'oldstring', 'newstring')</code>
ログイン後にコピー

使用法:

  • my_table: パスを持つ列を含むテーブルの名前
  • path: パスを含む列の名前
  • oldstring:
  • を置換する部分文字列
  • newstring: 文字列を置換

たとえば、列「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 サイトの他の関連記事を参照してください。

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