oracle一个字符,Oracle的一个字符串数据变为多行记录

Oracle的一个字符串数据变为多行记录

--把p_string的值动态切分为表的行数据

create or replace type split_rec as object (

id varchar2(50),

userId varchar2(32767)

);

create or replace type split_tbl as table of split_rec;

CREATE OR REPLACE FUNCTION splitstr(id in varchar2,p_string IN VARCHAR2, p_delimiter IN VARCHAR2 := ',')

RETURN split_tbl PIPELINED

AS

v_length   NUMBER := LENGTH(p_string);

v_start    NUMBER := 1;

v_index    NUMBER;

v_rec      split_rec;

BEGIN

v_rec := split_rec(id,'');

WHILE(v_start <= v_length)

LOOP

v_index    := INSTR(p_string, p_delimiter, v_start);

IF v_index = 0

THEN

v_rec.userId:=SUBSTR(p_string, v_start);

v_start    := v_length + 1;

ELSE

v_rec.userId:=SUBSTR(p_string, v_start, v_index - v_start);

v_start    := v_index + 1;

END IF;

PIPE ROW(v_rec);

END LOOP;

RETURN;

END splitstr;

--以下是测试SQL。

select x.*,u.name

from user u,

(

select r.*,x.userId

from item r

join table(splitstr(r.id,nvl(r.acol,r.

相关文档:

Oracle函数和mysql函数比较

1.       Oracle中的to_number()转换成数字;

Oracle> Select to_number(‘123’) from dual;  -----         123;

&nbs ......

update :单表的更新不用说了,两者一样,主要说说多表的更新

Oracle> Oracle的多表更新要求比较严格,所以有的时候不是很好写,我们可以试试Oracle的游标

&n ......

mysql 大对象存取:

类型一般应该用mediumblod,

blob只能存2的16次方个byte,

mediumblod是24次方,

一般来说够用了.longblob是32次方有些大.

MYSQL默认配置只能存1M大小的文件,要修改配置,WIN版本的在mysql.ini文件中

修改max_allowed_packet,net_buffer_length等几个参数,或直接SET GLOBAL va ......

SQLServer和Oracle的常用函数对比

1.绝对值

S:select abs(-1) value

O:select abs(-1) value from dual

2.取整(大)

S:select ceiling(-1.001) value

O:select ceil(-1.001) value from dual

3.取整(小)

S:select floor(-1.001) value

O:select floor(-1.001) valu ......

Oracle笔记

l         关于TRUNC函数

SELECT

RELATED_ID ,

DOC_ID ,

CAT_ID ,

CAT_CODE ,

RELEASE_DATE ,

&n ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值