Перейти к основному содержимому

SQL TRIM

Мы все с этим сталкивались: назойливые пробелы, странные, непоследовательные форматы или необъяснимые звездочки, скрывающиеся в конце значения столбца — строки являются одним из самых изменчивых типов данных в ваших наборах данных. Они, вероятно, не имеют единого регистра, различаются по длине и неизбежно содержат символы, которые нужно удалить.

Представляем: функция SQL TRIM, которая удаляет начальные и конечные символы строки. По умолчанию она удаляет пробелы в начале и конце строки.

Как использовать функцию SQL TRIM

Синтаксис использования функции TRIM выглядит следующим образом:

trim(<field_name> [, <characters_to_remove>])

Как мы уже говорили, по умолчанию <characters_to_remove> — это пробел, так что если вы выполните trim(' string with extra leading space'), это вернет 'string with extra leading space'. Вы можете явно указать отдельные символы или шаблон для удаления из ваших строк.

Пример использования функции SQL TRIM

select
first_name,
concat('*', first_name, '**') as test_string,
trim(test_string, '*') as back_to_first_name
from {{ ref('customers') }}
limit 3

После выполнения этого запроса результирующая таблица orders будет выглядеть следующим образом:

first_nametest_stringback_to_first_name
JuliaJulia*Julia
MaxMax*Max
LauraLaura*Laura

В этом запросе вы добавляете лишние звездочки к строке, используя функцию CONCAT, и очищаете ее с помощью функции TRIM. Хотя я указал одну звездочку в самой функции TRIM, она распознает это как шаблон для удаления из начала и конца строки, поэтому двойные звездочки (**) были удалены из конца столбца test_string.

Синтаксис функции SQL TRIM в Snowflake, Databricks, BigQuery и Redshift

Google BigQuery, Amazon Redshift, Snowflake и Databricks поддерживают возможность использования функции TRIM. Кроме того, синтаксис для обрезки строк одинаков во всех них с использованием функции TRIM. Эти хранилища данных также поддерживают функции RTRIM и LTRIM, которые позволяют удалять символы только с правой и левой стороны строки соответственно.

Примеры использования функции TRIM

Если строковые значения в ваших исходных данных содержат лишние пробелы или случайные символы, вы можете использовать функции TRIM (и подмножества RTRIM и LTRIM), чтобы быстро их удалить. Вероятно, вы будете выполнять эту очистку в стейджинговых моделях, где вы, вероятно, стандартизируете регистр и выполняете другие незначительные изменения форматирования строковых значений, чтобы использовать чистый и согласованный формат во всех ваших последующих моделях.

0