===============
-- Description: 把字符串分割到一个表中
================
CREATE FUNCTION [dbo].[uf_split_string]
(
@in_str varchar(MAX),
@split varchar(1)
)
RETURNS
@strs TABLE
(
c_str varchar(100)
)
AS
BEGIN
select @in_str=ltrim(rtrim(isnull(@in_str,'')))
if(@in_str='')
begin
insert into @strs(c_str)
select ''
end
DECLARE @splitlen INT
SET @splitlen = LEN(@split + 'a') - 2
WHILE CHARINDEX(@split, @in_str) > 0
BEGIN
INSERT INTO @strs ( c_str )
SELECT ( LEFT(LEFT(@in_str, CHARINDEX(@split, @in_str) - 1), 100) )
SET @in_str = STUFF(@in_str, 1, CHARINDEX(@split, @in_str) + @splitlen, '')
END
IF @in_str <> ''
BEGIN
INSERT INTO @strs ( c_str )
SELECT LEFT(@in_str, 100)
END
return
end
GO
-- Description: 把字符串分割到一个表中
================
CREATE FUNCTION [dbo].[uf_split_string]
(
@in_str varchar(MAX),
@split varchar(1)
)
RETURNS
@strs TABLE
(
c_str varchar(100)
)
AS
BEGIN
select @in_str=ltrim(rtrim(isnull(@in_str,'')))
if(@in_str='')
begin
insert into @strs(c_str)
select ''
end
DECLARE @splitlen INT
SET @splitlen = LEN(@split + 'a') - 2
WHILE CHARINDEX(@split, @in_str) > 0
BEGIN
INSERT INTO @strs ( c_str )
SELECT ( LEFT(LEFT(@in_str, CHARINDEX(@split, @in_str) - 1), 100) )
SET @in_str = STUFF(@in_str, 1, CHARINDEX(@split, @in_str) + @splitlen, '')
END
IF @in_str <> ''
BEGIN
INSERT INTO @strs ( c_str )
SELECT LEFT(@in_str, 100)
END
return
end
GO