博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
达梦数据库字符串切割-自定义函数
阅读量:6325 次
发布时间:2019-06-22

本文共 1842 字,大约阅读时间需要 6 分钟。

 

--根据分隔符返回分隔的组数

CREATE OR REPLACE         FUNCTION get_StrArrayLength(STR VARCHAR(2000),SPLIT1 VARCHAR(10))                 RETURN INT         AS                 V_LOCATION INT;                 V_START    INT;                 V_LENGTH   INT;         BEGIN                 STR:=LTRIM(RTRIM(STR));                 V_LOCATION :=LOCATE(SPLIT1,STR);                 V_LENGTH  :=1;                 WHILE V_LOCATION <>0                 LOOP                         V_START:=V_LOCATION+1;                         V_LOCATION   :=LOCATE(SPLIT1,STR,V_START);                         V_LENGTH  :=V_LENGTH+1;                 END LOOP;                 RETURN V_LENGTH;         END;

 

--取出根据某个字符切割后的第n个字符串

CREATE OR REPLACE         FUNCTION get_StrArrayStrOfIndex(STR VARCHAR(2000),SPLIT1 VARCHAR(10),                 INDEX1   INT)                 RETURN VARCHAR(2000)         AS                 V_LOCATION INT;                 V_START    INT;                 V_NEXT     INT;                 V_SEED     INT;         BEGIN                 STR:=LTRIM(RTRIM(STR));                 V_START    :=1;                 V_NEXT :=1;                 V_SEED :=LEN(SPLIT1);                 V_LOCATION :=LOCATE(SPLIT1,STR);                 WHILE V_LOCATION  <>0 AND INDEX1 >V_NEXT                 LOOP                         V_START:=V_LOCATION+V_SEED;                         V_LOCATION :=LOCATE(SPLIT1,STR,V_START);                         V_NEXT :=V_NEXT+1;                 END LOOP;                 IF V_LOCATION=0 THEN                         V_LOCATION :=LEN(STR)+1;                 END IF;                 RETURN SUBSTRING(STR,V_START,V_LOCATION-V_START);         END;

 

--调用方法

SELECT get_StrArrayLength('8a,9c,4c,5K',',') FROM SYSDBA.SYSDUAL ;

SELECT get_StrArrayStrOfIndex('8a,9c,4c,5K',',',3) FROM SYSDBA.SYSDUAL;

转载于:https://www.cnblogs.com/myrunning/p/4886145.html

你可能感兴趣的文章
切换ubuntu-18.04启动方式
查看>>
Mysql基本代码操作
查看>>
链表的应用
查看>>
Android系统启动过程
查看>>
SDL ./config之后出现错误
查看>>
SQL中distinct的用法
查看>>
【网摘】sql 语句修改字段名称以及字段类型
查看>>
python thrift hbase安装连接
查看>>
美团点评2017秋招笔试编程题第2题
查看>>
[置顶] Git学习总结(1)——Git使用详细教程
查看>>
使用Eigen库遇到C2719错误的解决办法
查看>>
js onclick=‘save()’ 和 onclick='return save()'
查看>>
postgresql 10 ltree 使用说明
查看>>
位bit——字节Byte???
查看>>
DMA控制
查看>>
MSP430F149学习之路——蓝牙模块
查看>>
java写入文件的几种方法分享
查看>>
Java后端WebSocket的Tomcat实现
查看>>
泛型!擦除与转换!
查看>>
<正则吃饺子> :关于redis集群的搭建、集群测试、搭建中遇到的问题总结
查看>>