У меня есть таблица в базе данных SQL Server 2008. В этой таблице есть столбец nvarchar (256) с именем «Name». К сожалению, значения в этом поле содержат дополнительные пробелы. Например, имя «Билл» фактически хранится как «Билл» в таблице.Обрезка текстовых строк в SQL Server 2008
Я хочу обновить все записи в этой таблице, чтобы удалить лишние пробелы. Однако я с удивлением узнал, что SQL не имеет функции TRIM.
Как обновить все записи за раз, чтобы удалить лишние пробелы?
Спасибо!
Этот ответ должен быть принят один, потому что 'LTRIM (RTRIM (Name))', вероятно, более эффективным, чем 'RTRIM (LTRIM (Name))'. – mark
@mark: любая ссылка для указанной точки? – BiLaL
Ну, это зависит от языка внутренней реализации. Если это C/C++, то LTRIM должен сдвигать строковые символы влево, тогда как RTRIM просто записывает завершающий «\ 0» в правильное положение. Таким образом, LTRIM после RTRIM должен сдвигать меньше символов. Конечно, это не имеет большого значения в общей картине, но все же это более эффективно, и стоимость обмена LTRIM и RTRIM абсолютно равна 0. – mark