ホームページ >データベース >mysql チュートリアル >REGEXP_REPLACE を使用して正規表現を使用して MySQL のデータを変更するにはどうすればよいですか?

REGEXP_REPLACE を使用して正規表現を使用して MySQL のデータを変更するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-27 13:04:11640ブラウズ

How Can I Use REGEXP_REPLACE to Modify Data in MySQL Using Regular Expressions?

MySQL での正規表現置換

大規模なデータセットを扱う場合、多くの場合、特定のパターンに基づいてデータをクレンジングまたは変更することが必要になります。 MySQL では、正規表現を使用してカラム内の文字または部分文字列を置換するタスクは、MariaDB および MySQL 8.0 で利用可能な新しい REGEXP_REPLACE 関数を使用して実現できます。

REGEXP_REPLACE 構文

REGEXP_REPLACE 関数の構文は:

REGEXP_REPLACE(col, regexp, replace)

ここで:

  • col は変更する列です
  • regexp は一致させる正規表現パターンです
  • replace は、一致したパターンを置換する文字列ですwith

使用例

ファイル名を含む filename という名前の列を持つテーブルがあり、特殊文字 (例:数字、句読点)、a ~ z、A ~ Z、(,)、_、.、および - を除きます。 REGEXP_REPLACE 関数は次のように使用できます。

SELECT REGEXP_REPLACE(filename, '[^a-zA-Z0-9()_ .\-]', '')

これにより、変更されたファイル名を持つ新しい列が返されます。

グループ化

REGEXP_REPLACE 関数はグループ化もサポートしているため、より複雑な置換を実行できます。たとえば、グループ化を使用して、一致したパターンの一部を抽出し、置換文字列で使用できます。

SELECT REGEXP_REPLACE("stackoverflow", "(stack)(over)(flow)", '\2 - \1 - \3')

これにより、次が返されます:

over - stack - flow

以上がREGEXP_REPLACE を使用して正規表現を使用して MySQL のデータを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。