MSSQL移除字符串两边的指定字符

移除字符串左边的字符:

复制代码
CREATE FUNCTION [dbo].[RemoveLeftChar] 
(
@Expression varchar(max),
@char varchar(4)
)
RETURNS varchar(max)
AS
BEGIN
WHILE LEN(@Expression)>0 AND CHARINDEX(@char,@Expression)=1
BEGIN
SET @Expression=SUBSTRING(@Expression,LEN(@char)+1,LEN(@Expression))
END
return @Expression
END
复制代码

移除字符串右边的字符:

复制代码
CREATE FUNCTION [dbo].[RemoveRightChar] 
(
@Expression varchar(max),
@char varchar(4)
)
RETURNS varchar(max)
AS
BEGIN
DECLARE @Len int
SET @Len=LEN(@Expression)
WHILE @Len>0 AND SUBSTRING(@Expression,@Len-len(@char)+1,@Len)=@char
BEGIN
SET @Expression=SUBSTRING(@Expression,1,@Len-LEN(@char))
SET @Len=LEN(@Expression)
END
return @Expression
END
复制代码

移除字符串左边的字符:

1、

SELECT [dbo].[RemoveLeftChar]('|123|234|345|','|')
--输出结果
123|234|345|

2、

SELECT [dbo].[RemoveLeftChar]('|||123|234|345|','|')
--输出结果
123|234|345|

 

移除字符串右边的字符:

1、

SELECT [dbo].[RemoveRightChar]('|123|234|345|','|')
--输出结果
|123|234|345

2、

SELECT [dbo].[RemoveRightChar]('|123|234|345|||','|')
--输出结果
|123|234|345

 

移除两边的字符(组合)

SELECT [dbo].[RemoveLeftChar]([dbo].[RemoveRightChar]('|123|234|345|','|'),'|')
--输出结果
123|234|345
posted @ 2017-06-17 10:10  晨风清流  阅读(909)  评论(0编辑  收藏  举报