Sql字符串删除首尾字符函数

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[fn_trimchar]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[fn_trimchar]
GO
CREATE FUNCTION dbo.fn_trimchar
(
@Source VARCHAR(MAX),
@Char CHAR(1) = ','
)
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @returnString VARCHAR(MAX)

trim_loop:
WHILE CHARINDEX(@Char, @Source) = 1
BEGIN
SET @Source = SUBSTRING(@Source, 2, LEN(@Source))
END

IF CHARINDEX(@Char, @Source) = 1
BEGIN
SET @Source = REVERSE(@Source)
END

IF CHARINDEX(@Char, @Source) = 1
BEGIN
GOTO trim_loop;
END

SET @returnString = @Source
RETURN @returnString;
END

posted on 2010-10-31 21:50  fery  阅读(1583)  评论(0编辑  收藏  举报