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<LEN (@str)
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
网友评论