如:字符串为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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)