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( ...
随机推荐
- Serializable 接口与 Java 序列化与反序列化
0. 序列化的意义 从内存到本地即为本地化或者在网络中进行传输,或叫序列化,持久化. 某 Java 类实现 Serializable 接口的目的是为了可持久化(简单理解为本地化),比如网络传输或本地存 ...
- 并不对劲的bzoj4560:p3269:[JLOI2016]字符串覆盖
题目大意 \(T\)(\(T\leq10\))组询问 每组询问给出一个字符串\(A\)(\(|A|\leq10^4\)),\(n\)(\(n\leq4\))个\(A\)的子串\(B_1,B_2,B_3 ...
- ssh远程连接docker中linux(ubuntu/centos)
ssh远程连接docker中linux(ubuntu/centos) https://www.jianshu.com/p/9e4d50ddc57e centos docker pull centos: ...
- Integer和int的区别(转)
public class TestInteger { public static void main(String[] args) { int i = 128; Integer i2 = 128; I ...
- Linux 系统管理命令 - iostat - I/O 信息统计
命令详解 重要星级: ★★★★☆ 功能说明: iostat 是 I/O statistics ( 输入/输出统计 ) 的缩写,其主要功能是对系统的磁盘 I/O 操作进行监视.它的输出主要是显示磁盘读写 ...
- PostgreSQL完整备份与还原过程
1. 备份10.12.2.100PC机(服务器)上的数据库(仅备份数据库和对应的数据库里面各表的结构): pg_dump -h 10.12.2.100 -U postgres -p 8101 -d t ...
- bzoj 1042: [HAOI2008]硬币购物【dp】
设f[i]为凑i元的方案数,这个随便dp一下就行了 然后处理限制,我们考虑用容斥,也就是4个超限-3个超限+2个超限-1个超限,这里用状压枚举一下,然后i硬币超限就当做选了d[i]+1个,在s里减去, ...
- jQuery笔记之Easing Plugin
jQuery easing 使用方法首先,项目中如果需要使用特殊的动画效果,则需要在引入jQuery之后引入jquery.easing.1.3.js<script type="text ...
- hdu 2063 过山车 (最大匹配 匈牙利算法模板)
匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名.匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最 ...
- _bzoj1013 [JSOI2008]球形空间产生器sphere【高斯消元】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1013 保存高斯消元模版. ps,这一题的英文名字是ヨスガノソラ的开发商~^_^ #inclu ...