sql >> Databáze >  >> RDS >> Sqlserver

SQL Server – Odeberte všechny netisknutelné znaky ASCII

Další možnost.

Tato funkce nahradí řídicí znaky a opraví zbývající opakující se mezery. Například Jane Smith{13}was here nebude vráceno jako Jane Smithwas here , ale spíše 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. Chyba související s only_full_group_by při provádění dotazu v MySql

  2. Jak mohu zadat dotaz na všechna data větší než určité datum na serveru SQL?

  3. PostgreSQL dědičnost s JPA, Hibernate

  4. Výkon MySQL – Slow Query a innodb_buffer_pool_size