oracle怎么利用SQL进行多值字段拆分
答案:2 悬赏:60 手机版
解决时间 2021-02-10 06:42
- 提问者网友:鼻尖触碰
- 2021-02-09 20:21
oracle怎么利用SQL进行多值字段拆分
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-02-09 20:26
create or replace function strsplit(p_value varchar2,
p_split varchar2 := ',')
--usage: select * from table(strsplit('1,2,3,4,5'))
return strsplit_type
pipelined is
v_idx integer;
v_str varchar2(500);
v_strs_last varchar2(4000) := p_value;
begin
loop
v_idx := instr(v_strs_last, p_split);
exit when v_idx = 0;
v_str := substr(v_strs_last, 1, v_idx - 1);
v_strs_last := substr(v_strs_last, v_idx + 1);
pipe row(v_str);
end loop;
pipe row(v_strs_last);
return;
end strsplit;
调用示例:
select * from table(strsplit('1,2,3,4,5'))
p_split varchar2 := ',')
--usage: select * from table(strsplit('1,2,3,4,5'))
return strsplit_type
pipelined is
v_idx integer;
v_str varchar2(500);
v_strs_last varchar2(4000) := p_value;
begin
loop
v_idx := instr(v_strs_last, p_split);
exit when v_idx = 0;
v_str := substr(v_strs_last, 1, v_idx - 1);
v_strs_last := substr(v_strs_last, v_idx + 1);
pipe row(v_str);
end loop;
pipe row(v_strs_last);
return;
end strsplit;
调用示例:
select * from table(strsplit('1,2,3,4,5'))
全部回答
- 1楼网友:行雁书
- 2021-02-09 20:49
select t.字段名 from (
select 字段(可以是多表关联的字段) ,
row_number() over(order by 时间字段 desc) r
from 表名 where 过滤条件 ) t
where t.r <= (每页显示条数*要查询的页) and t.r > (每页显示条数*(要查询的页-1))
有疑问可以再问
望采纳
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯