ホームページ >データベース >mysql チュートリアル >REGEXP_REPLACE を使用して正規表現を使用して MySQL のデータを変更するにはどうすればよいですか?
MySQL での正規表現置換
大規模なデータセットを扱う場合、多くの場合、特定のパターンに基づいてデータをクレンジングまたは変更することが必要になります。 MySQL では、正規表現を使用してカラム内の文字または部分文字列を置換するタスクは、MariaDB および MySQL 8.0 で利用可能な新しい REGEXP_REPLACE 関数を使用して実現できます。
REGEXP_REPLACE 構文
REGEXP_REPLACE 関数の構文は:
REGEXP_REPLACE(col, regexp, replace)
ここで:
使用例
ファイル名を含む 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 サイトの他の関連記事を参照してください。