可能这很容易,但出于某种原因,我无法做到。
问题是当我删除CHAR(13)
和CHAR(10)
以及RTRIM
的所有空格\新行时,它会删除所有空格和两个方向的新行。
DECLARE @txt NVARCHAR(1000);
SET @txt = '
Some Text
';
预期结果:
@txt = '
Some Text';
答案 0 :(得分:0)
对于此类任务,最好实现在SQL Server中引入正则表达式功能的SQL CLR函数。例如:
DECLARE @txt NVARCHAR(1000);
SET @txt = '
Some Text
';
SELECT [dbo].[fn_Utils_RegexReplace] (@txt, '[\s\n]+$', '');
您可以找到有关如何创建此类函数here的更多信息。
对于较新版本的SQL Server(从SQL Server 2016开始),您可以选择使用R
进行此类操作,如评论中所述。
无论如何,我建议您阅读可以创建的SQL CLR对象(函数,触发器,类型,聚合),因为您可以使用.net解决各种任务。