W programie SQL Server 2017 można używać tej składni, ale nie we wcześniejszych wersjach:
SELECT Name = TRIM(Name) FROM dbo.Customer;
W programie SQL Server 2017 można używać tej składni, ale nie we wcześniejszych wersjach:
SELECT Name = TRIM(Name) FROM dbo.Customer;
Odpowiedzi:
SELECT LTRIM(RTRIM(Names)) AS Names FROM Customer
Aby przyciąć po prawej stronie, użyj:
SELECT RTRIM(Names) FROM Customer
Aby przyciąć po lewej stronie, użyj:
SELECT LTRIM(Names) FROM Customer
Aby przyciąć po obu stronach, użyj:
SELECT LTRIM(RTRIM(Names)) FROM Customer
Zakładam, że jest to jednorazowe czyszczenie danych. Po zakończeniu upewnij się, że dodałeś ograniczenia bazy danych, aby zapobiec nieprawidłowym danym w przyszłości, np
ALTER TABLE Customer ADD
CONSTRAINT customer_names__whitespace
CHECK (
Names NOT LIKE ' %'
AND Names NOT LIKE '% '
AND Names NOT LIKE '% %'
);
Rozważ także zablokowanie innych znaków (tabulatora, powrotu karetki, nowego wiersza itp.), Które mogą powodować problemy.
Może to być również dobry moment, aby podzielić te nazwy się family_name
, first_name
itp :)
w SQL Server 2008 R2 z wyrażeniem ssis mamy funkcję trim.
SQL Server Integration Services (SSIS) to składnik oprogramowania bazy danych Microsoft SQL Server, którego można używać do wykonywania szerokiego zakresu zadań migracji danych.
pełny opis można znaleźć pod tym linkiem
http://msdn.microsoft.com/en-us/library/ms139947.aspx
ale ta funkcja sama w sobie ma pewne ograniczenia, o których również wspomina msdn na tej stronie. ale to jest w SQL Server 2008 R2
TRIM(" New York ") .The return result is "New York".
Rozszerzona wersja „REPLACE”:
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(RTRIM(LTRIM(REPLACE("Put in your Field name", ' ',' '))),'''',''), CHAR(9), ''), CHAR(10), ''), CHAR(13), ''), CHAR(160), '') [CorrValue]
Aby przyciąć dowolny zestaw znaków od początku i końca ciągu, możesz wykonać następujący kod, w którym @TrimPattern definiuje znaki do przycięcia. W tym przykładzie przycinane są znaki spacji, tabulacji, LF i CR:
Zadeklaruj @Test nvarchar (50) = Concat ('', char (9), char (13), char (10), '', 'TEST', '', char (9), char (10), char ( 13), '', 'Test', '', znak (9), '', znak (9), znak (13), '')
ZADEKLARUJ @TrimPattern nvarchar (max) = '% [^' + char (9) + char (13) + char (10) + ']%'
WYBIERZ SUBSTRING (@Test, PATINDEX (@TrimPattern, @Test), LEN (@Test) - PATINDEX (@TrimPattern, @Test) - PATINDEX (@TrimPattern, LTRIM (REVERSE (@Test))) + 2)