zoukankan      html  css  js  c++  java
  • Oracle 对字符串去重函数

    CREATE OR REPLACE FUNCTION ZZMES."REMOVESAMESTR" (oldStr varchar2, sign varchar2)
    return varchar2 is
    /****************************************************
    ** Copyright (c) 2008,亚科技术开发中心
    ** All rights reserved.
    **
    ** 函数名称:RemoveSameStr
    ** 参 数:【名称】 【类型 】 【说明】
    ** oldStr varchar2 要处理的字符串
    ** sign varchar2 字符串分隔符
    ** 返 回 值:Result varchar2 不包含重复子串的记录
    ** 摘 要:去除字符传中重复的记录
    **
    ** 当前版本:1.0
    **
    ** 作 者:zhangbq
    ** 完成日期:2008年04月09日
    ** 备 注:
    ****************************************************/
    str varchar2(1000);
    currentIndex number;
    startIndex number;
    endIndex number;
    type str_type is table of varchar2(30) index by binary_integer;
    arr str_type;
    Result varchar2(1000);
    begin
    -- 空字符串
    if oldStr is null then
    return('');
    end if;
    --字符串太长
    if length(oldStr) > 1000 then
    return(oldStr);
    end if;
    str := oldStr;
    currentIndex := 0;
    startIndex := 0;
    loop
    currentIndex := currentIndex + 1;
    endIndex := instr(str, sign, 1, currentIndex);
    if (endIndex <= 0) then
    exit;
    end if;

    arr(currentIndex) := trim(substr(str,
    startIndex + 1,
    endIndex - startIndex - 1));
    startIndex := endIndex;
    end loop;
    --取最后一个字符串:
    arr(currentIndex) := substr(str, startIndex + 1, length(str));
    --去掉重复出现的字符串:
    for i in 1 .. currentIndex - 1 loop
    for j in i + 1 .. currentIndex loop
    if arr(i) = arr(j) then
    arr(j) := '';
    end if;
    end loop;
    end loop;
    str := '';
    for i in 1 .. currentIndex loop
    if arr(i) is not null then
    str := str || sign || arr(i);
    --数组置空:
    arr(i) := '';
    end if;
    end loop;
    --去掉前面的标识符:
    Result := substr(str, 2, length(str));
    return(Result);
    end RemoveSameStr;

  • 相关阅读:
    数据库优化之三:数据表设计
    JavaScript:实现弹出框的选择(转载)
    HTML and CSS 之三
    容祖儿 《Jump Up 9492》[MP3!]
    微软的 3层结构教程
    CodeSmith
    Alienwave.CommunityServer 开发笔记 1
    Microsoft .NET Framework 3.0 预发行版本 2006年6月CTP
    三国无双 4 PC 版释出
    KOKIA 《THE POWER OF SMILE》单曲[MP3!]
  • 原文地址:https://www.cnblogs.com/echo-ling/p/7478965.html
Copyright © 2011-2022 走看看