Oracle の置換関数は次のとおりです: 1. translation() 関数、構文「TRANSLATE(char, from, to)」; 2. replace() 関数、構文「REPLACE(文字列, 検索値, 置換値) ) 」。
このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。
#Oracle の Replace 関数 replace および translation 関数
##1.translate構文:
TRANSLATE(char, from, to)使用法: from に含まれる各文字を to の対応する文字に置き換えた後の文字列を返します。
from 文字列が to 文字列より長い場合、to よりも from にある余分な文字が削除されます。
3 つのパラメータのうち 1 つが空の場合、戻り値も空になります。
例:
SQL> select translate('abcdefga','abc','wo') 返回值 from dual;
戻り値
wodefgw
分析:
このステートメントは、「abcdefga」の「abc」を「wo」に変換します。 'abc' の ' は 'wo' の 'w' に対応し、'abcdefga' のすべての 'a' は 'w' に変換されます;
および 'abc' の 'b' は ' の 'o' に対応しますwo' なので、'abcdefga' 内のすべての 'b' は 'o' に変換されます;
'abc' の 'c' には、対応する 'wo' 文字がないため、' のすべての 'c' を削除しますabcdefga';
簡単に言うと、from の文字を to の位置に対応する文字に変換するというもので、to に文字が見つからない場合は戻り値から該当の文字を削除します。
実際の業務では、異常なデータを削除するために使用できます。たとえば、テーブル a のフィールド t_no は電話番号を表しており、電話番号自体は数字で構成された文字列である必要があります。数値以外の異常データの場合は、translate 関数が使用されます:
SQL> delete from a, where length(translate(trim(a.t_no), '0123456789' || a.t_no, '0123456789')) <> length(trim(a.t_no));2.replace
構文:
REPLACE(char, search_string,replacement_string) ) 使用法: char 内のすべての文字列 search_string を文字列 replace_string に変換します。
例 1:
SQL> select REPLACE('fgsgswsgs', 'fk' ,'j') 返回值 from dual;
戻り値
fgsgswsgs
例 2:
SQL> select REPLACE('fgsgswsgs', 'sg' ,'eeerrrttt') 返回值 from dual;
戻り値
fgeeerrrtttsweeerrrttts
分析:
推奨チュートリアル: 「
Oracle チュートリアル以上がOracle の代替関数は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。