split字符串分割和trim去除空格的表值函数,参看如下SQL语句:
--split 字符串分割函数
CREATE FUNCTION [dbo].[f_split]
(
@c VARCHAR(2000) ,
@split VARCHAR(2)
)--@c表示字符串,@split表示分隔符
RETURNS @t TABLE ( col VARCHAR(20) ) ----返回一个表,用这个表来存储分割出来的所有数据
AS
BEGIN
WHILE ( CHARINDEX(@split, @c) <> 0 )----当分隔符的索引不等于0时
BEGIN
INSERT @t
( col
)
VALUES
( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1)
)----分割出来的单个字符
SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')----设置分割后的字符串
END
INSERT @t
( col )
VALUES
( @c ) ----把分割出来的单个字符插入到表@t表
RETURN
END
--f_trim去除空格函数
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技术专栏