ORCLE函数学习方法

1.字符串小代码转化为字符串值

如 (10,20)==》 (现金(电汇),银行承兑汇票,现金(电汇))

java 复制代码
CREATE OR REPLACE FUNCTION FROM_ARRAYSTR_TO_STR(P1 in varchar2,P2 in varchar2)
return varchar2
is
VLA varchar2(2048):='';--最后函数返回的值
TEMP varchar2(20);  --截取字符串第一个的值'a,b,c'-->'a'
TEMP_AGE varchar2(20):=P1;  --截取字符串第一个的值'a,b,c'-->'a'
TEMP_CHANGE varchar2(20); --小代码转化结果
begin
  IF P1='' OR  P1 IS NULL THEN
      VLA:='';
  ELSE
      IF INSTR(P1,',')>0 THEN 
        LOOP
          IF INSTR(TEMP_AGE,',')>0 THEN 
             SELECT SUBSTR(TEMP_AGE, 1, INSTR(TEMP_AGE, ',')-1) INTO TEMP  FROM dual;
             SELECT SUBSTR(TEMP_AGE, INSTR(TEMP_AGE, ',')+1) into TEMP_AGE  FROM dual;
             SELECT VAL_DESC_CN INTO TEMP_CHANGE FROM XS_MD_VALSET_DETAIL dt4 WHERE dt4.VAL=TEMP AND dt4.value_Set_Code=P2; 
             IF VLA='' or VLA IS NULL THEN
                 VLA:=TEMP_CHANGE;
             ELSE    
                 VLA:=VLA||','||TEMP_CHANGE;
             END IF;    
          ELSE
             SELECT VAL_DESC_CN INTO TEMP_CHANGE FROM XS_MD_VALSET_DETAIL dt4 WHERE dt4.VAL=TEMP_AGE AND dt4.value_Set_Code=P2; 
             VLA:=VLA||','||TEMP_CHANGE;
             exit when  1=1;
          END IF;    
        END LOOP;      
      ELSE 
        SELECT VAL_DESC_CN INTO VLA FROM XS_MD_VALSET_DETAIL dt4 WHERE dt4.VAL=P1 AND dt4.value_Set_Code=P2; 
      END IF;   
  END IF;    
return VLA;
end;

数据执行方法

java 复制代码
SELECT FROM_ARRAYSTR_TO_STR('10,20,10','H010') FROM DUAL;
相关推荐
oioihoii11 小时前
从“功能实现”到“深度优化”:金仓数据库连接条件下推技术的演进之路
数据库·oracle
一个处女座的程序猿O(∩_∩)O15 小时前
性能调优实战:金仓数据库连接条件下推原理与案例拆解
数据库·oracle
oioihoii16 小时前
数据库查询优化中的谓词下推策略与成本感知优化实践
服务器·数据库·oracle
正在走向自律17 小时前
Oracle 替换工程实践深度解析 —— 从技术落地到生产级平稳迁移
数据库·oracle·国产化替代·金仓kingbasees
xcLeigh17 小时前
从 Oracle RAC 到金仓高可用集群:平滑切换的架构对比与落地指南
数据库·oracle·架构·集群·数据清洗·kingbasees
zxrhhm18 小时前
Oracle一般而言standby redo日志文件组数要比primary数据库的online redo日志文件组数至少多一个,为什么?
数据库·oracle
颜颜yan_19 小时前
告别“子查询性能陷阱“:金仓数据库智能下推优化器的设计与实测
数据库·oracle
A101693307120 小时前
QT数据库(三):QSqlQuery使用
数据库·qt·oracle
执笔画情ora1 天前
Postgresql数据库管理-pg_xact
数据库·postgresql·oracle
XDHCOM1 天前
ORA-32152报错咋整啊,数据库操作遇到null number问题远程帮忙修复
服务器·数据库·oracle