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

Przycinanie T-SQL   (i inne znaki niealfanumeryczne)

Spowoduje to usunięcie wszystkich niealfanumerycznych znaków

CREATE FUNCTION [dbo].[fnRemoveBadCharacter]
(
    @BadString nvarchar(20)
)
RETURNS nvarchar(20)
AS
BEGIN

            DECLARE @nPos INTEGER
            SELECT @nPos = PATINDEX('%[^a-zA-Z0-9_]%', @BadString)

            WHILE @nPos > 0
            BEGIN
                        SELECT @BadString = STUFF(@BadString, @nPos, 1, '')
                        SELECT @nPos = PATINDEX('%[^a-zA-Z0-9_]%', @BadString)
            END

            RETURN @BadString
END

Użyj funkcji jak:

UPDATE TableToUpdate
SET ColumnToUpdate = dbo.fnRemoveBadCharacter(ColumnToUpdate)
WHERE whatever


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Różnica między lewym i prawym złączeniem w SQL Server

  2. Konwertuj obiekt SQL Server DateTime na BIGINT (takty .Net)

  3. Monitorowanie bazy danych SQL Server TempDB przy użyciu widoków zarządzania dynamicznego (DMV)

  4. Jak uzyskać różnicę między dwoma wierszami dla pola kolumny?

  5. INSERT INTO @TABLE EXEC @query z SQL Server 2000