Как обрезать строку в SQL Server?

В SQL Server 2017 можно использовать этот синтаксис, но не в более ранних версиях:

SELECT Name = TRIM(Name) FROM dbo.Customer;
122
задан Aaron Bertrand 28 August 2019 в 11:25
поделиться

3 ответа

SELECT LTRIM(RTRIM(Names)) AS Names FROM Customer
223
ответ дан Ben Hoffstein 24 November 2019 в 01:21
поделиться

Для Обрезки справа используйте:

SELECT RTRIM(Names) FROM Customer

Для Обрезки слева используйте:

SELECT LTRIM(Names) FROM Customer

Для Обрезки на обеих сторонах используйте:

SELECT LTRIM(RTRIM(Names)) FROM Customer
60
ответ дан Kibbee 24 November 2019 в 01:21
поделиться

Я предполагаю, что это - одноразовое осуществление очистки данных. После того, как сделанный, удостоверьтесь, чтобы Вы добавили, что ограничения базы данных для предотвращения неправильных данных в будущем, например,

ALTER TABLE Customer ADD
   CONSTRAINT customer_names__whitespace
      CHECK (
             Names NOT LIKE ' %'
             AND Names NOT LIKE '% '
             AND Names NOT LIKE '%  %'
            );

Также рассматривают запрещение других символов (вкладка, возврат каретки, перевод строки, и т.д.), который может вызвать проблемы.

Это может также быть хорошее время для разделения тех Имен на family_name, first_name, и т.д.:)

7
ответ дан onedaywhen 24 November 2019 в 01:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: