Удалить все пробелы из строки в SQL Server

Опубликовано: 1 Сентября, 2022

Существуют сценарии появления пробелов до и после строки, и нам может потребоваться удалить/обрезать пробелы для нашего использования. Давайте посмотрим, как это обрабатывается в SQL Server. До SQL Server 2016 у нас есть функции, называемые функциями SQL LTRIM и SQL RTRIM. Само название подразумевает, что LTRIM помогает удалить крайние левые пробелы, а RTRIM помогает удалить крайние правые пробелы.

Начиная с SQL Server 2017, у нас есть функция TRIM(), которая также обрезает как начальные, так и конечные символы с помощью одной функции. В этой статье давайте рассмотрим их подробно.

Функция LTRIM SQL:

Удаляет пробелы в начале строки. У нас могут быть пробелы до и после строки. Используя функцию LTRIM(), мы можем удалить крайние левые пробелы. Давайте воспользуемся функцией DATALENGTH() для вычисления длины данных в байтах до и после использования функции SQL LTRIM. Объединив все это, давайте посмотрим на приведенном ниже примере.

Запрос:

DECLARE @gfgString VARCHAR(26)= 
        "     GeeksForGeeks       ";

SELECT @gfgString as OriginalString, 
       LTRIM(@gfgString) AS StringAfterLTRIM, 
       DATALENGTH(@gfgString) AS "DataLength String (Bytes)", 
       DATALENGTH(LTRIM(@gfgString)) AS
       "DataLength String (Bytes) After LTRIM";

Выход:

Функция SQL RTRIM:

Он удаляет пробелы с конца (начиная с правой стороны) строки. У нас могут быть пробелы до и после строки. Используя функцию RTRIM (), мы можем удалить крайние правые пробелы. Давайте воспользуемся функцией DATALENGTH() для вычисления длины данных в байтах до и после использования функции SQL RTRIM. Объединив все это, давайте посмотрим на приведенном ниже примере.

Запрос:

DECLARE @gfgString VARCHAR(26)=
        "     GeeksForGeeks       ";

SELECT @gfgString as OriginalString, 
       RTRIM(@gfgString) AS StringAfterRTRIM, 
       DATALENGTH(@gfgString) AS "DataLength String (Bytes)", 
       DATALENGTH(RTRIM(@gfgString))
       AS "DataLength String (Bytes) After RTRIM";

Выход:

Функция SQL TRIM():

Начиная с SQL Server 2017, у нас также есть функция TRIM(). Он удаляет начальные пробелы, а также конечные пробелы строки.

Запрос:

DECLARE @gfgString VARCHAR(26)= 
        "     GeeksForGeeks       ";
SELECT @gfgString as OriginalString, 
       TRIM(@gfgString) AS StringAfterTRIM, 
       DATALENGTH(@gfgString) AS "DataLength String (Bytes)", 
       DATALENGTH(TRIM(@gfgString))
       AS "DataLength String (Bytes) After TRIM";

Выход:

Мы можем использовать указанные выше 3 функции для удаления пробелов в соответствии с требованиями. Как правило, чтобы удалить все пробелы, нам нужно использовать TRIM(). Мы можем использовать то же самое, чтобы обрезать значения столбца.

Запрос:

use GEEKSFORGEEKS
SELECT AuthorName, LTRIM(AuthorName) as "String after LTRIM", RTRIM(AuthorName) as "String after RTRIM", 
TRIM(AuthorName) as "String after TRIM" FROM Authors;

Выход:

SQL Server предоставляет множество функций для работы со строками, и здесь мы видели функции LTRIM(), RTRIM() и TRIM() для удаления пробелов.