split字符串分割和trim去除空格的表值函數(shù),參看如下SQL語句:
--split 字符串分割函數(shù)
CREATE FUNCTION [dbo].[f_split]
(
@c VARCHAR(2000) ,
@split VARCHAR(2)
)--@c表示字符串,@split表示分隔符
RETURNS @t TABLE ( col VARCHAR(20) ) ----返回一個(gè)表,用這個(gè)表來存儲分割出來的所有數(shù)據(jù)
AS
BEGIN
WHILE ( CHARINDEX(@split, @c) <> 0 )----當(dāng)分隔符的索引不等于0時(shí)
BEGIN
INSERT @t
( col
)
VALUES
( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1)
)----分割出來的單個(gè)字符
SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')----設(shè)置分割后的字符串
END
INSERT @t
( col )
VALUES
( @c ) ----把分割出來的單個(gè)字符插入到表@t表
RETURN
END
--f_trim去除空格函數(shù)
CREATE FUNCTION [dbo].[f_trim]
(
@str VARCHAR(2000) ,
@s NVARCHAR(50)
)
RETURNS NVARCHAR(4000)
AS
BEGIN
WHILE ( SUBSTRING(@str, 1, LEN(@s)) = @s )
BEGIN
SET @str = RIGHT(@str, LEN(@str) - LEN(@s))
END
WHILE ( SUBSTRING(@str, LEN(@str) - LEN(@s) + 1, LEN(@s)) = @s )
BEGIN
SET @str = LEFT(@str, LEN(@str) - LEN(@s))
END
RETURN @str
END
更多信息請查看IT技術(shù)專欄