OracleではTRANSLATE関数を使用して文字列の置換を行う事ができます。

文法:

TRANSLATE(word, A, B)

wordの文字列Aを文字列Bに置換する。例えば、Aに’abc’とあり、Bに’123’と指定した場合、文字列のaを1、bを2に、cを3に置換する。決して’abc’という連続した文字列を対象とするのではない。

使用例:文字列のxyzをそれぞれ123に置換する。

SELECT word, TRANSLATE(word, ‘xyz’, ‘123’) FROM tbTestTable;

word      TRANSLATE(word, ‘xyz’, ‘123’)
——————————————————————-
mixi      mi1i
zexy      3e12
apple     apple

使用例:数字を全て$に置換する。

SELECT card, TRANSLATE(card, ‘0123456789’, ‘$$$$$$$$$$’) FROM tbEmpTable;

card                TRANSLATE(salary, ‘0123456789’, ‘$$$$$$$$$$’)
———————————————————————————————
0023-4444-1123-123      $$$$-$$$$-$$$$-$$$
02203-112-22-22-254      $$$$$-$$$-$$-$$-$$$
01230-445-6664-333      $$$$$-$$$-$$$$-$$$

SQLコマンド辞典に戻る

Popular Posts: