Oracleで特定の位置の文字を置き換えるには、どうすればいいですか?

Oracleでは、指定された位置の文字を置き換えるためにSUBSTR関数を使用できます。

例えば、「Hello, World!」という文字列中のカンマを感嘆符に置き換えたい場合は、以下の文を使用できます。

SELECT SUBSTR('Hello, World!', 1, INSTR('Hello, World!', ',') - 1) || '!' || SUBSTR('Hello, World!', INSTR('Hello, World!', ',') + 1)
FROM DUAL;

このステートメントは、置換された文字列「Hello! World!」を返します。

上記の文では、SUBSTR関数は文字列を分割する際に使用され、INSTR関数は指定された文字の位置を検索する際に使用されます。文字列を2つに分割し、途中に新しい文字を挿入することで置換を実現します。

bannerAds