SQL 服务器:RegEx ASCII 删除

SQL Server : RegEx ASCII removal

正在寻找进行区分大小写搜索的方法。

CREATE FUNCTION [dbo].[fn_StripCharacters]
(
    @String NVARCHAR(MAX), 
    @RemoveFollowing VARCHAR(255)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
    SET @RemoveFollowing =  '%['+@RemoveFollowing+']%'
    WHILE PatIndex(@RemoveFollowing, @String) > 0
        SET @String = Stuff(@String, PatIndex(@RemoveFollowing, @String), 1, '')
    RETURN @String
END
GO

SELECT dbo.fn_StripCharacters('RoaR! rings the roll', '\R')

之前尝试过 RegEx(未成功):'\R'、'\x52'、'\n42'、'\u0052'、'R'.

我也试过整理数据库,没有结果:

COLLATE Latin1_General_100_CS_AS_SC;

微软 SQL 服务器管理工​​作室 12.0.4100.1

微软 .NET 框架 4.0.30319.34011

为什么要使用循环?您要做的就是用空字符串替换某个字母?您需要为输入指定排序规则以使其区分大小写。

select replace('RoaR! rings the roll' COLLATE Latin1_General_CS_AS, 'R', '')