Oracle数据库自定义函数练习20181031
--测试函数3
CREATE OR REPLACE FUNCTION FN_TEST3
(NUM IN VARCHAR2)
RETURN VARCHAR2 IS
TYPE VARCHAR2_ARR IS TABLE OF VARCHAR2(300);
NUMARR VARCHAR2_ARR;
TEMPNUM VARCHAR2(1000) := '';
TEMPCOUNT NUMBER := 0;
BEGIN
SELECT TRIM(REGEXP_SUBSTR(NUM,'(\w|[-])+',1,LEVEL))
BULK COLLECT INTO NUMARR FROM
DUAL
CONNECT BY LEVEL <= REGEXP_COUNT(NUM,'(\w|[-])+');
FOR I IN 1 .. NUMARR.COUNT
LOOP
IF NUMARR(I) IS NOT NULL THEN
TEMPNUM := TEMPNUM || NUMARR(I);
END IF;
END LOOP;
RETURN TEMPNUM;
END;
/ --测试函数2
CREATE OR REPLACE FUNCTION FN_TEST2
(NUM IN VARCHAR2)
RETURN NUMBER IS
TYPE VARCHAR2_ARR IS TABLE OF VARCHAR2(300);
NUMARR VARCHAR2_ARR;
TEMPNUM VARCHAR2(1000) := '';
TEMPCOUNT NUMBER := 0;
BEGIN
SELECT TRIM(REGEXP_SUBSTR(NUM,'(\w|[-])+',1,LEVEL))
BULK COLLECT INTO NUMARR FROM
DUAL
CONNECT BY LEVEL <= REGEXP_COUNT(NUM,'(\w|[-])+');
FOR I IN 1 .. NUMARR.COUNT
LOOP
IF NUMARR(I) IS NOT NULL THEN
TEMPNUM := TEMPNUM || NUMARR(I) || ',';
TEMPCOUNT := TEMPCOUNT + 1;
END IF;
END LOOP;
RETURN TEMPCOUNT;
END;
/ --测试函数
CREATE OR REPLACE FUNCTION FN_TEST
(NUM IN VARCHAR2)
RETURN VARCHAR2 IS
TYPE VARCHAR2_ARR IS TABLE OF VARCHAR2(300);
NUMARR VARCHAR2_ARR;
TEMPNUM VARCHAR2(1000) := '';
BEGIN
SELECT TRIM(REGEXP_SUBSTR(NUM,'^.+',1,LEVEL))
BULK COLLECT INTO NUMARR FROM
DUAL
CONNECT BY LEVEL <= REGEXP_COUNT(NUM,'^.+');
FOR I IN 1 .. NUMARR.COUNT
LOOP
IF NUMARR(I) IS NOT NULL THEN
TEMPNUM := TEMPNUM || NUMARR(I) || ',';
END IF;
END LOOP;
RETURN TEMPNUM;
END;
/
Oracle数据库自定义函数练习20181031的更多相关文章
- Jpa 重写方言dialect 使用oracle / mysql 数据库自定义函数
在使用criteria api进行查询时 criteriaBuilder只提供了一个部分标准的sql函数,但当我们需要使用oracle特有的行转列函数wm_concat或 mysql特有的行转列函数g ...
- ORACLE当中自定义函数性优化浅析
为什么函数影响性能 在SQL语句中,如果不合理的使用函数(Function)就会严重影响性能,其实这里想说的是PL/SQL中的自定义函数,反而对于一些内置函数而言,影响性能的可能性较小.那么为什么SQ ...
- Oracle之自定义函数
数据库中函数包含四个部分:声明.返回值.函数体和异常处理. --没有参数的函数 create or replace function get_user return varchar2 is v_use ...
- Oracle数据库DECODE函数的使用.
decode函数是Oracle数据库独有的. 语法为: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 例子:select decode(sign(变量1-变量2) ...
- Oracle数据库to_date函数注意事项
使用PL/SQL连接到Oracle数据库服务器,执行一条update语句: update pjnl set transtime = to_date('2015-05-14 12:13:20','yyy ...
- Postgre数据库自定义函数
自定函数 1.查询函数: select prosrc from pg_proc where proname='test' 参数说明 : test 为函数名. 2.删除函数: drop function ...
- Oracle基础 自定义函数
一.函数 函数与存储过程相似,也是数据库中存储的已命名PL-SQL程序块.函数的主要特征是它必须有一个返回值.通过return来指定函数的返回类型.在函数的任何地方可以通过return express ...
- Mysql和Oracle数据库concat()函数
一.函数的使用参数不同 Mysql支持多个字符串拼接: CONCAT(str1,str2,-) Oralce只支持两个字符串的拼接,若想拼接多个字符串可以嵌套使用concat CONCAT(str1, ...
- Oracle数据库--SQL函数
Oracle SQL函数 1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii( ...
随机推荐
- 并不对劲的bzoj4652:loj2085:uoj221:p1587:[NOI2016]循环之美
题目大意 对于已知的十进制数\(n\)和\(m\),在\(k\)进制下,有多少个数值上互不相等的纯循环小数,可以用\(x/y\)表示,其中 \(1\leq x\leq n,1\leq y\leq m\ ...
- Java并发思考
如果说传统金融政企软件主要看事务,而互联网软件主要是并发,就像淘宝双十一主要就是在解决并发问题. 并发的目的是提高系统效率,响应时间和吞吐量. Java中并发的基本单位是线程,如何更好的解决线程协作通 ...
- c++爬虫子
Larbin是一个用C++开发的开源网络爬虫,有一定的定制选项和较高的网页抓取速度. 下图表示了一般爬虫抓取网页的基本过程. 抓取以/Larbin.conf中的startUrl做为种子URLs开始. ...
- Python基础第十天
一.内容
- hdu 5023(线段树区间染色,统计区间内颜色个数)
题目描述:区间染色问题,统计给定区间内有多少种颜色? 线段树模板的核心是对标记的处理 可以记下沿途经过的标记,到达目的节点之后一块算,也可以更新的时候直接更新到每一个节点 Lazy操作减少修改的次数( ...
- 2-17 numpy模块使用
#CURD import numpy as np data1 = np.array([1,2,3,4,5]) print(data1) data2 = np.array([[1,2], [3,4]]) ...
- Tomcat配置JVM运存
setenv.bat set "JAVA_OPTS=-server -Xms256M -Xmx1024M -XX:PermSize=256m -XX:MaxPermSize=1024m&qu ...
- 工作日记:C#获取操作系统、MAC地址、登录用户、网卡、物理内存信息
/// <summary> /// 操作系统的登录用户名 /// </summary> /// <returns>系统的登录用户名</returns> ...
- svn报错:privious operation has not finshed;run 'cleanup' if it was interrupted
在更新svn的过程中,可能中途会取消,取消之后再次更新时可能提示,如下图: 下载sqlite3工具,进入此下载地址:https://www.sqlite.org/download.html 将sqli ...
- centos7开启路由转发
centos7开启路由转发 编辑/etc/sysctl.conf,添加一下内容. vim /etc/sysctl.conf net.ipv4.ip_forward=1 net.ipv4.conf.al ...