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

Znajdź i zamień wszystkie znaki specjalne w SQL

Spróbuj utworzyć tę funkcję

create function dbo.RemoveSpecialChars (@s varchar(256)) returns varchar(256)
   with schemabinding
begin
   if @s is null
      return null
   declare @s2 varchar(256)
   set @s2 = ''
   declare @l int
   set @l = len(@s)
   declare @p int
   set @p = 1
   while @p <= @l begin
      declare @c int
      set @c = ascii(substring(@s, @p, 1))
      if @c between 48 and 57 or @c between 65 and 90 or @c between 97 and 122
         set @s2 = @s2 + char(@c)
      set @p = @p + 1
      end
   if len(@s2) = 0
      return null
   return @s2
   end

a następnie wykonaj swoją UPDATE

   UPDATE mycode
    SET newName = dbo.RemoveSpecialChars(mycode)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać wartości kolumn w jednej wartości oddzielonej przecinkami?

  2. SQL Pivot z wieloma kolumnami

  3. Zapytanie o listę wszystkich procedur składowanych

  4. Konwersja nie powiodła się podczas konwersji wartości varchar w instrukcji case

  5. Jakie są sposoby uzyskania dostępu do Microsoft SQL Server z systemu Linux?