舌尖上的高考,深度诱惑米洛,快乐的万家村
create function fgetstrbysplit
(
@source varchar(max),
@index int,
@splitchar varchar(1)
)
returns varchar(max)
as
begin
declare @len int
declare @n int = 0
declare @chindex int
declare @result varchar(max)
--获取总长度
set @len = len(@source)
--获取切割字符位置
set @chindex = charindex(@splitchar,@source)
while @chindex > 0
begin
if(@n = @index)
begin
set @source = substring(@source,0,@chindex)
break
end
set @source = substring(@source,@chindex+1,@len)
set @chindex = charindex(@splitchar,@source)
set @len = len(@source)
set @n = @n + 1
end
return @source
end
go
--调用
declare @value varchar(max)
set @value = dbo.fgetstrbysplit('645002*01_45854_183677_12',0,'_')
print @value
结果:
645002*01
--1
45854
--2
183677
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
sql某个日期是当年的第几周
/* *周一作为一周的开始 *当年的1月1号所在的周算作第一周 */ CREATE function GetWeekIndexFirstDate ( @...
[阅读全文]
-
-
数据库SQL---范式
1、数据冗余导致的问题:冗余存储、更新异常、插入异常、删除异常。 2、函数依赖:一种完整性约束。 在关系模式r(R)中,α属于R,β属于R。 1)α函数...
[阅读全文]
-
-
数据库SQL---查询
1、查询所有列 select *from emp;--*表示所有的,from emp表示从emp表中查询。 2、查询指定列 select empno,e...
[阅读全文]
-
-
-
-
-
网友评论