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

Bagaimana cara menghapus karakter ASCII yang diperluas dari string di T-SQL?

Oke, coba ini. Tampaknya masalah yang sama yang mereka miliki. Bagaimanapun, Anda perlu memodifikasinya berdasarkan kebutuhan Anda.

CREATE FUNCTION RemoveNonASCII 
(
    @nstring nvarchar(255)
)
RETURNS varchar(255)
AS
BEGIN

    DECLARE @Result varchar(255)
    SET @Result = ''

    DECLARE @nchar nvarchar(1)
    DECLARE @position int

    SET @position = 1
    WHILE @position <= LEN(@nstring)
    BEGIN
        SET @nchar = SUBSTRING(@nstring, @position, 1)
        --Unicode & ASCII are the same from 1 to 255.
        --Only Unicode goes beyond 255
        --0 to 31 are non-printable characters
        IF UNICODE(@nchar) between 32 and 255
            SET @Result = @Result + @nchar
        SET @position = @position + 1
    END

    RETURN @Result

END
GO

Lihat di SqlServerCentral



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menangkap hitungan dari kueri SQL

  2. Konvensi Penamaan Database oleh Microsoft?

  3. Bagaimana saya bisa mendeteksi kueri buat, perbarui, hapus berhasil di Codeigniter

  4. Pemecahan Masalah Replikasi Transaksional SQL Server

  5. Pulihkan Database di SQL Server 2017