zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

SQLServer字符串切割函数

SQLServer 函数 字符串 切割
2023-06-13 09:14:34 时间
复制代码代码如下:

CREATEFUNCTIONfGetStrBySplit
(
@SourceVARCHAR(max),
@IndexINT,
@SplitCharVARCHAR(1)
)
RETURNSvarchar(MAX)
AS
BEGIN

DECLARE@LenINT
DECLARE@nINT=0
DECLARE@ChIndexINT
DECLARE@ResultVARCHAR(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@valueVARCHAR(max)
SET@value=dbo.fGetStrBySplit("645002*01_45854_183677_12",0,"_")
PRINT@value

结果:
645002*01
--1

45854

--2

183677