В 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
и т.д. :)
в sql server 2008 r2 с выражением ssis у нас есть функция обрезки.
Службы интеграции 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(REPLACE(RTRIM(LTRIM(REPLACE("Put in your Field name", ' ',' '))),'''',''), CHAR(9), ''), CHAR(10), ''), CHAR(13), ''), CHAR(160), '') [CorrValue]