oracle中怎样分割字符串

oracle中怎样分割字符串,第1张

分割字符串用substr函数即可。

如:字符串为abc123,现在要截取成abc和123。

select substr('abc123',1,3),substr('abc123',4,3) from dual

函数说明:

substr('abc123',1,3)

其中abc123是要被截取的字符串,1,代表从第一位开始截取,3代表要截取的长度。

数据库自带的substring()、charindex()函数,可以根据需要截取字符串,但并不能实现分割

自己写分割函数,以下可以参考:

create function GetStr

(

 @str varchar(1024),  --要分割的字符串

 @split varchar(10),  --分隔符号

 @index int --取第几个元素

)

returns varchar(1024)

as

begin

 declare @location int

 declare @start int

 declare @next int

 declare @seed int

 set @str=ltrim(rtrim(@str))

 set @start=1

 set @next=1

 set @seed=len(@split)

 

 set @location=charindex(@split,@str)

 while @location<>0 and @index>@next

 begin

   set @start=@location+@seed

   set @location=charindex(@split,@str,@start)

   set @next=@next+1

 end

 if @location =0 select @location =len(@str)+1  

 return substring(@str,@start,@location-@start)

end


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9618724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存