Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server - Xóa tất cả các ký tự ASCII không in được

Một lựa chọn khác.

Hàm này sẽ thay thế các ký tự điều khiển và sửa mọi khoảng trống lặp lại còn sót lại. Ví dụ:Jane Smith{13}was here sẽ không được trả lại dưới dạng Jane Smithwas here , nhưng đúng hơn là 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. Tạo bảng trong SQL Server (T-SQL)

  2. Cách sử dụng IF ... THEN Logic trong SQL Server

  3. SQL Server REPLACE () so với TRANSLATE ():Sự khác biệt là gì?

  4. Ứng dụng C # đa luồng với các lệnh gọi cơ sở dữ liệu SQL Server

  5. Cách đặt đối chiếu của một cột trong SQL Server (T-SQL)