Oracle将数字范围遍历

  • 第一版: 以‘,’分隔,结尾带‘,’
create or replace function get_num(s varchar2) return VARCHAR2 is
str varchar2(4000);
num_start int := substr(s, 0, instr(s, '-') - 1);--开始位置
num_end   int := substr(s, instr(s, '-') + 1, length(s));--结束位置
begin
	while num_start<=num_end LOOP
		str:= str||num_start;
		num_start:=num_start+1;
	end loop;
	return(str);
end get_num;
~~~sql
# 示例
select get_num('1-10') as gs  from dual;

在这里插入图片描述

第二版: 以‘,’分隔,结尾不带‘,’

create or replace function get_Num(s varchar2) return VARCHAR2 is  
str varchar2(4000);
num_start int := substr(s, 0, instr(s, '-') - 1);--开始位置  
num_end   int := substr(s, instr(s, '-') + 1, length(s));--结束位置  
begin  
    for i in num_start .. num_end-1 loop  
  str:=str||i||',';  
  end loop;  
    return(str||num_end);  
end get_Num; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值