Oracle反转倒置函数

WBOY
リリース: 2016-06-07 16:08:41
オリジナル
1361 人が閲覧しました

Oracle提供了一个反转倒置函数reverse,但此函数不能分组倒置,本文提供了一个即可分组倒置的函数,如下所示:

Oracle提供了一个反转倒置函数reverse,但此函数不能分组倒置,,本文提供了一个即可分组倒置的函数,如下所示:

CREATE OR REPLACE FUNCTION REVERSE_F(p_str VARCHAR2, p_delimiter VARCHAR2:='')
  RETURN VARCHAR2 IS
  v_return VARCHAR2(4000);
  vp_str  VARCHAR2(4000) := p_str;
  v_idx    number;
  vp_len  number := length(p_delimiter);
BEGIN
  if (p_delimiter is null) then
    select reverse(p_str) into v_return from dual;
  else
    loop
      v_idx := instr(vp_str, p_delimiter);
      if (v_idx = 0) then
        v_return := vp_str || v_return;
        exit;
      elsif (v_idx = 1) then
        v_return := substr(vp_str, 1, vp_len) || v_return;
        vp_str  := substr(vp_str, vp_len + 1);
      else
        v_return := substr(vp_str, 1, v_idx - 1) || v_return;
        vp_str  := substr(vp_str, v_idx);
      end if;
    end loop;
  end if;
  RETURN v_return;
END REVERSE_F;

效果图

Oracle函数之GREATEST函数详解实例

Oracle函数之单行转换函数

生成动态前缀且自增号码的Oracle函数

Oracle函数之Replace()

Oracle函数大全

Oracle函数之case和decode的用法区别及性能比较

本文永久更新链接地址:

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート