Удалить все пробелы из строки в SQL Server
Существуют сценарии появления пробелов до и после строки, и нам может потребоваться удалить/обрезать пробелы для нашего использования. Давайте посмотрим, как это обрабатывается в 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() для удаления пробелов.