Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server - Премахнете всички непечатаеми ASCII знаци

Друг вариант.

Тази функция ще замени контролните знаци и ще коригира всички остатъчни повтарящи се интервали. Например 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL заявка за получаване на данни за последните 3 месеца

  2. Как да намеря зависимости от външни ключове в SQL Server?

  3. Експортиране на данни в SQL Server като INSERT INTO

  4. Как да конкатенирате низ и стойности NULL в SQL Server

  5. Бърз скрипт, който връща всички свойства от SERVERPROPERTY() в SQL Server 2017/2019