sql函数之字符串的分离

Substring 和 charindex@sql 函数

sql server函数

写一函数,功能为字符处理,有三个参数,一个是要处理的字符串,另一个是分隔字符,第三个是获取第几段字符

函数代码如下:
CREATE FUNCTION SeparateTagTest(@tag
nvarchar(4000), @separator VARCHAR(5),@number int)
RETURNS nvarchar(50)
with encryption
AS
BEGIN
DECLARE @pos int, @tmp nvarchar(100), @i int,
@tagName nvarchar(50)
SELECT @pos = 0, @i = 0
WHILE(1=1)
BEGIN
SELECT @tag = LTRIM( SUBSTRING( @tag, @pos + 1, 4000 ) )
SELECT @pos=charindex( @separator, @tag )
IF( @pos = 0 )
SELECT @tmp = substring( @tag, 1,
100 )
else
SELECT @tmp = substring( @tag, 1,
@pos-1 )
SELECT @tagName = ltrim(
rtrim(SUBSTRING( @tmp, 1, 50 ) ) )
IF(@i = (@number -1))
RETURN @tagName
IF( @pos = 0 )
BREAK
SELECT @i = @i + 1
END
RETURN @tagName
END
go

测试结果

猜你喜欢

转载自blog.csdn.net/weixin_43832378/article/details/89449934