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つに分割し、途中に新しい文字を挿入することで置換を実現します。