複数の特定の文字列をOracleで置き換える方法は何ですか?

Oracleで、特定の文字列を置き換えるためには、REPLACE関数を使用できます。しかし、複数の特定の文字列を置き換える場合は、正規表現を使ったREGEXP_REPLACE関数を組み合わせて使用することができます。以下はその例です:

employeesという表があり、job_title列には異なるポジション名が含まれています。ここで、EngineerをSoftware Engineerに、ManagerをProject Managerに置換したいと思います。

以下の文を使って実現できます:

UPDATE employees
SET job_title = REGEXP_REPLACE(job_title, 'Engineer', 'Software Engineer')
WHERE job_title LIKE '%Engineer%';

UPDATE employees
SET job_title = REGEXP_REPLACE(job_title, 'Manager', 'Project Manager')
WHERE job_title LIKE '%Manager%';

上記の文は、job_title列にEngineerが含まれるすべての行をSoftware Engineerに置き換え、Managerが含まれるすべての行をProject Managerに置き換えます。

必要なら、さらにUPDATE文を追加して、REGEXP_REPLACE関数を使用して他の指定された文字列を置換することもできます。

bannerAds