Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Server - Hapus semua karakter ASCII yang tidak dapat dicetak

Opsi Lain.

Fungsi ini akan menggantikan karakter kontrol dan memperbaiki sisa spasi yang berulang. Misalnya Jane Smith{13}was here tidak akan dikembalikan karena Jane Smithwas here , melainkan 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. Pengantar Tabel Sementara di SQL Server

  2. Permintaan SQL untuk menemukan gaji tertinggi ke-N dari tabel gaji

  3. MAX vs Top 1 - mana yang lebih baik?

  4. SQL Server 2008 Baris Sisipkan dan Perbarui stempel waktu

  5. Ubah varchar menjadi datetime di SQL Server