Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server — Usuń wszystkie niedrukowalne znaki ASCII

Inna opcja.

Ta funkcja zastąpi znaki kontrolne i skoryguje wszelkie pozostałe powtarzające się spacje. Na przykład Jane Smith{13}was here nie zostanie zwrócony, ponieważ Jane Smithwas here , ale raczej Jane Smith was 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. SELECT max(x) zwraca wartość null; jak mogę sprawić, żeby zwróciło 0?

  2. Automatyczne usuwanie zablokowanych procesów w MS SQL Server

  3. Utworzyć wyzwalacz, aby rejestrować kod SQL, którego dotyczy tabela?

  4. Użyj OBJECTPROPERTY(), aby dowiedzieć się, czy tabela jest tabelą systemową w SQL Server

  5. Nazwa kolumn zmiennych SQL Server?