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( ...
随机推荐
- yum和apt-get 安装方式
rpm包和deb包是两种Linux系统下最常见的安装包格式,在安装一些软件或服务的时候免不了要和它们打交道.rpm包主要应用在RedHat系列包括 Fedora等发行版的Linux系统上,deb包主要 ...
- less 语法
1 变量 less的变量使用@开头 1.1 demo @colorRed:red; @colorBlue:blue; .demo{ color:@colorRed; background-color: ...
- ASP.NET项目开发实战<<一键创建解决方案>>
视频演示地址:http://www.youku.com/playlist_show/id_23192838.html 第一步:创建项目需要的数据库 打开辅助开发工具,如下图 从左侧菜单找到 项目数据库 ...
- winform 自动升级
自动升级系统OAUS的设计与实现(续) (附最新源码) http://www.cnblogs.com/zhuweisky/p/4209058.html Winform在线更新 http://www.c ...
- python 面向对象六 类属性和实例属性
一.实例属性 Python是动态语言,根据类创建的实例可以任意绑定属性. >>> class Student(object): ... def __init__(self, name ...
- bzoj 1606: [Usaco2008 Dec]Hay For Sale 购买干草【01背包】
在洛谷上被卡常了一个点! 就是裸的01背包咯 为啥我在刷水题啊 #include<iostream> #include<cstdio> #include<algorith ...
- hdu 1348【凸包模板】
#include<iostream> #include<iostream> #include<algorithm> #include<cmath> us ...
- MoveTo和LineTo函数的意思
这是个画线函数, moveto是移动到某个坐标,lineto是从当前坐标, 移动的某个坐标连接早当前坐标.这两个函数加起来就是画一条直线.
- pycharm版本选择并安装
pycharm版本选择并安装 一. 初学python最好选择专业版的,因为经测试社区版的很多插件都没有安装,如果自己安装的话会非常麻烦,而且很多根本就安装不上,比如说css,javascript,d ...
- 离散化+线段树/二分查找/尺取法 HDOJ 4325 Flowers
题目传送门 题意:给出一些花开花落的时间,问某个时间花开的有几朵 分析:这题有好几种做法,正解应该是离散化坐标后用线段树成端更新和单点询问.还有排序后二分查找询问点之前总花开数和总花凋谢数,作差是当前 ...