安云网 - AnYun.ORG | 专注于网络信息收集、网络数据分享、网络安全研究、网络各种猎奇八卦。
当前位置: 安云网 > 技术关注 > DataBase > MSSQLSERVER > SQL Server字符串切割函数_MsSql

SQL Server字符串切割函数_MsSql

时间:2014-05-02来源: 作者:点击:
复制代码 代码如下: 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) --获取总长度
复制代码 代码如下:

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
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
相关内容
推荐内容