[Oracle]: Oracle 分隔字符串方法
来源:互联网 发布:二年级优化设计答案 编辑:程序博客网 时间:2024/06/05 01:48
- Function
/** * Split the string according to the separator. * * @param I_VALUES: String is divided * @param I_SEPARATOR: Separator * @return ARRAY_STRING: String array */CREATE OR REPLACEFUNCTION FN_SPLIT( I_VALUES IN VARCHAR2, I_SEPARATOR IN VARCHAR2) RETURN ARRAY_STRING AS V_STR VARCHAR2(200); V_SEPARATOR VARCHAR2(10); V_LENGTH NUMBER; V_START NUMBER := 1; V_END NUMBER; V_INDEX NUMBER := 1; O_ARRAY_STRING ARRAY_STRING;BEGIN O_ARRAY_STRING := ARRAY_STRING(); V_SEPARATOR := NVL(I_SEPARATOR, ','); V_STR := LTRIM(RTRIM(I_VALUES)); V_LENGTH := LENGTH(V_STR); WHILE (V_START <= V_LENGTH) LOOP V_END := INSTR(V_STR, V_SEPARATOR, V_START); IF V_END = 0 THEN IF LTRIM(RTRIM(SUBSTR(V_STR, V_START))) IS NOT NULL THEN O_ARRAY_STRING.extend; O_ARRAY_STRING(V_INDEX) := LTRIM(RTRIM(SUBSTR(V_STR,V_START))); V_INDEX := V_INDEX + 1; END IF; V_START := V_LENGTH + 1; ELSE IF LTRIM(RTRIM(SUBSTR(V_STR, V_START, V_END - V_START))) IS NOT NULL THEN O_ARRAY_STRING.extend; O_ARRAY_STRING(V_INDEX) := LTRIM(RTRIM(SUBSTR(V_STR, V_START, V_END - V_START))); V_INDEX := V_INDEX + 1; END IF; V_START := V_END + 1; END IF; END LOOP;END FN_SPLIT
- Test
/*********** FN_SPLIT TEST *************/DECLARE I_VALUES VARCHAR2(200); I_SEPARATOR VARCHAR2(10); V_Return ARRAY_STRING;BEGIN I_VALUES := 'AAA, BB , CCC'; I_SEPARATOR := ''; V_Return := FN_SPLIT( I_VALUES => I_VALUES, I_SEPARATOR => I_SEPARATOR ); FOR i IN 1 .. V_Return.count LOOP DBMS_OUTPUT.PUT_LINE(i || ': ' || V_Return(i)); END LOOP;END;
0 0
- [Oracle]: Oracle 分隔字符串方法
- oracle 将字符串分隔方法
- Oracle 根据分隔符分隔字符串
- Oracle split(分隔字符串函数)
- oracle字符串分隔函数split
- Oracle分隔字符串后输出(列转行)
- oracle 根据分隔符截取字符串
- oracle 拆分逗号分隔字符串 实现split
- oracle分隔字符串的存储过程
- oracle 拆分逗号分隔字符串 实现split
- Oracle处理指定分隔符中的字符串
- oracle字符串按制定分隔符截取
- oracle拆分逗号分隔的字符串
- oracle拆分逗号分隔字符串 实现split
- oracle拆分逗号分隔字符串 实现split
- oracle拆分逗号分隔字符串 实现split
- Oracle函数,按分隔符截取字符串
- 【ORACLE】逗号分隔的字符串的应用
- 第五周项目2(1)正差值
- OJ1007
- 【Win 10应用开发】SplitView控件
- oracle数据库对时间的处理
- 双目相机的畸变校正以及平行校正(极线校正)的入门问题总结
- [Oracle]: Oracle 分隔字符串方法
- Linux下用expect实现ssh自动登录并执行脚本
- POJ 1942 Paths on a Grid 找规律+组合数学
- iOS 自定义TabBarController
- 本地tomcat访问路径localhost:8080改成baidu.com
- 利用mybatis-generator自动生成代码
- 车牌识别EasyPR--开发详解
- 转一个J2EE开发时的包命名规则,养成良好的开发习惯
- Mysql命令行常用操作