T-SQL函数实现Like子句特殊字符替换

T-SQL中使用查询时如果LIKE子句中包含特殊字符,则无法正常匹配。


创建以下Function:



CREATE FUNCTION StrReplace(@str nvarchar(255))

RETURNS nvarchar(255)

AS

BEGIN

DECLARE @strOut AS nvarchar(255)

DECLARE @s AS nvarchar(8)

DECLARE @i AS integer

SET @strOut=''

SET @i=0

WHILE @i

BEGIN

SET @s=SUBSTRING (@str,@i,1)

IF @s='[' SET @s='[[]'

IF @s='%' SET @s='[%]'

IF @s='_' SET @s='[_]'

IF @s='^' SET @s='[^]'

SET @strOut =@strOut+@s

SET @i=@i+1

END

RETURN @strOut

END

GO



测试如下:


T-SQL函数实现Like子句特殊字符替换_第1张图片

你可能感兴趣的:(T-SQL函数实现Like子句特殊字符替换)