ホームページ  >  記事  >  データベース  >  Oracle の代替関数は何ですか?

Oracle の代替関数は何ですか?

青灯夜游
青灯夜游オリジナル
2022-02-24 18:12:3414215ブラウズ

Oracle の置換関数は次のとおりです: 1. translation() 関数、構文「TRANSLATE(char, from, to)」; 2. replace() 関数、構文「REPLACE(文字列, 検索値, 置換値) ) 」。

Oracle の代替関数は何ですか?

このチュートリアルの動作環境: 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,
                             &#39;0123456789&#39;)) <> length(trim(a.t_no));

2.replace

構文:

REPLACE(char, search_string,replacement_string) )

使用法: char 内のすべての文字列 search_string を文字列 replace_string に変換します。

例 1:

SQL> select REPLACE(&#39;fgsgswsgs&#39;, &#39;fk&#39; ,&#39;j&#39;) 返回值 from dual;

戻り値

fgsgswsgs

例 2:

SQL> select REPLACE(&#39;fgsgswsgs&#39;, &#39;sg&#39; ,&#39;eeerrrttt&#39;) 返回值 from dual;

戻り値

fgeeerrrtttsweeerrrttts

分析:

    最初の例では、「fgsgswsgs」に「fk」に一致する文字列がないため、戻り値は依然として「fgsgswsgs」になります。 2 つの例では、「fgsgswsgs」内のすべての文字列「sg」が「eeerrrttt」に変換されます。
  • 要約: 要約すると、replace と translation はどちらも置換関数です。ただし、replace は文字列を対象とするのに対し、translate は単一の文字を対象とする点が異なります。
  • 推奨チュートリアル: 「

    Oracle チュートリアル

以上がOracle の代替関数は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。