दूसरा विकल्प।
यह फ़ंक्शन नियंत्रण वर्णों को प्रतिस्थापित करेगा और किसी भी अवशिष्ट दोहराव वाले स्थान को ठीक करेगा। उदाहरण के लिए Jane Smith{13}was here
वापस नहीं किया जाएगा क्योंकि Jane Smithwas here
, बल्कि Jane Smithwas here
CREATE FUNCTION [dbo].[udf-Str-Strip-Control](@S varchar(max))
Returns varchar(max)
Begin
;with cte1(N) As (Select 1 From (Values(1),(1),(1),(1),(1),(1),(1),(1),(1),(1)) N(N)),
cte2(C) As (Select Top (32) Char(Row_Number() over (Order By (Select NULL))-1) From cte1 a,cte1 b)
Select @S = Replace(@S,C,' ')
From cte2
Return ltrim(rtrim(replace(replace(replace(@S,' ','†‡'),'‡†',''),'†‡',' ')))
End
--Select [dbo].[udf-Str-Strip-Control]('Michael '+char(13)+char(10)+'LastName') --Returns: Michael LastName