打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
oracle不按字符顺序比较

create or replace function compareStr(v_a varchar2, v_b varchar)
  return number as
  num     number;
  v_count number;
begin
  num := -1;
  --优先匹配位数
  if length(v_a) != length(v_b) then
    return num;
  end if;
  --排重检查
  select count(*)
    into v_count
    from (select *
            from (SELECT REGEXP_SUBSTR(A, '[^,]+', 1, LEVEL) personStr
                    FROM (SELECT v_a A FROM DUAL) A
                  CONNECT BY LEVEL <= LENGTH(A) - LENGTH(REPLACE(A, ',')) + 1)
          minus
          select *
            from (SELECT REGEXP_SUBSTR(B, '[^,]+', 1, LEVEL) personStr
                    FROM (SELECT v_b B FROM DUAL) B
                  CONNECT BY LEVEL <= LENGTH(B) - LENGTH(REPLACE(B, ',')) + 1));
  if v_count = 0 then
    num := 1;
  else
    num := -1;
  end if;
  return num;
end;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
分支机构-数据处理
oracle pl/sql level妙用
ORACLE数字转换人民币大写
浅议Oracle中的进制转换
BP神经网络(必看一看就懂)
程序员面试攻略 6.4面试例题 电话键单词
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服