В SQL Server 2017 вы можете использовать этот синтаксис, но не в более ранних версиях:
SELECT Name = TRIM(Name) FROM dbo.Customer;
В SQL Server 2017 вы можете использовать этот синтаксис, но не в более ранних версиях:
SELECT Name = TRIM(Name) FROM dbo.Customer;
SELECT LTRIM(RTRIM(Names)) AS Names FROM Customer
Чтобы отрегулировать справа, используйте:
SELECT RTRIM(Names) FROM Customer
Чтобы отрегулировать слева, используйте:
SELECT LTRIM(Names) FROM Customer
Чтобы обрезать обе стороны, используйте:
SELECT LTRIM(RTRIM(Names)) FROM Customer
Я предполагаю, что это одноразовое упражнение по очистке данных. После этого убедитесь, что вы добавили ограничения базы данных для предотвращения плохих данных в будущем, например.
ALTER TABLE Customer ADD
CONSTRAINT customer_names__whitespace
CHECK (
Names NOT LIKE ' %'
AND Names NOT LIKE '% '
AND Names NOT LIKE '% %'
);
Также рассмотрите возможность запрещения других символов (вкладка, возврат каретки, фид строки и т.д.), которые могут вызвать проблемы.
Также может быть полезно разбить эти имена на family_name
, first_name
и т.д.:)
SELECT LTRIM(RTRIM(Replace(Replace(Replace(name,' ',' '),CHAR(13), ' '),char(10), ' ')))
from author
в sql server 2008 r2 с выражением ssis у нас есть функция trim.
Службы интеграции SQL Server (SSIS) являются компонентом программного обеспечения базы данных Microsoft SQL Server, которое может использоваться для выполнения широкого круга задач переноса данных.
вы можете найти полное описание по этой ссылке
http://msdn.microsoft.com/en-us/library/ms139947.aspx
но эта функция имеет некоторые ограничения сама по себе, которые также упоминаются msdn на этой странице. но это находится в sql server 2008 r2
TRIM(" New York ") .The return result is "New York".
Расширенная версия "ЗАМЕНА":
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(RTRIM(LTRIM(REPLACE("Put in your Field name", ' ',' '))),'''',''), CHAR(9), ''), CHAR(10), ''), CHAR(13), ''), CHAR(160), '') [CorrValue]