Udostępnij za pomocą


TRIM (Transact-SQL)

Dotyczy do: SQL Server 2017 (14.x) i późniejsze wersje Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL analytics endpoint in Microsoft FabricWarehouse in Microsoft FabricSQL database in Microsoft Fabric

Usuwa znak char(32) spacji lub inne określone znaki od początku i końca ciągu.

Począwszy od programu SQL Server 2022 (16.x), opcjonalnie usuwa znak char(32) spacji lub inne określone znaki z początku, końca lub obu stron ciągu.

Transact-SQL konwencje składni

Składnia

Składnia dla SQL Server 2019 (15.x) i wcześniejszych wersji, oraz Azure Synapse Analytics:

TRIM ( [ characters FROM ] string )

Syntax for SQL Server 2022 (16.x) i późniejsze wersje, Azure SQL Managed Instance, Azure SQL Database oraz Microsoft Fabric:

Ważne

Aby użyć 160słów kluczowych , lub LEADING , TRAILINGmusisz ustawić BOTH poziom zgodności bazy danych.

TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )

Arguments

[ WIODĄCY | KOŃCOWE | OBA ]

Dotyczy do: SQL Server 2022 (16.x) i nowsze wersje, Azure SQL Managed Instance, Azure SQL Database oraz Microsoft Fabric:

Opcjonalny pierwszy argument określa, która strona ciągu ma być przycinana:

  • LEADING usuwa znaki określone na początku ciągu.

  • TRAILING usuwa znaki określone na końcu ciągu.

  • BOTH (domyślne zachowanie pozycyjne) usuwa znaki określone na początku i na końcu ciągu.

Znaków

Literał, zmienna lub wywołanie funkcji dowolnego typu znaku innego niż LOB (nvarchar, varchar, nchar lub char) zawierającego znaki, które należy usunąć. Typy nvarchar(max) i varchar(max) nie są dozwolone.

string

Wyrażenie dowolnego typu znaku (nvarchar, varchar, nchar lub char), w którym należy usunąć znaki.

Typy zwracane

Zwraca wyrażenie znaku z typem argumentu ciągu, w którym znak char(32) spacji lub inne określone znaki są usuwane z obu stron. Zwraca NULL wartość , jeśli ciąg wejściowy to NULL.

Uwagi

Domyślnie TRIM funkcja usuwa znak spacji zarówno z początku, jak i końca ciągu. To zachowanie jest równoważne .LTRIM(RTRIM(@string))

Aby włączyć opcjonalne LEADINGargumenty , TRAILINGlub BOTH pozycyjne w programie SQL Server 2022 (16.x), należy włączyć poziom 160 zgodności bazy danych w bazie danych, z którą nawiązujesz połączenie podczas wykonywania zapytań.

  • W przypadku opcjonalnego LEADING argumentu pozycyjnego zachowanie jest równoważne funkcji LTRIM(@string, characters).
  • W przypadku opcjonalnego TRAILING argumentu pozycyjnego zachowanie jest równoważne funkcji RTRIM(@string, characters).

Przykłady

A. Usuń znak spacji z obu stron ciągu

Poniższy przykład usuwa spacje z przed i po słowie test.

SELECT TRIM( '     test    ') AS Result;

Oto zestaw wyników.

test

B. Usuń określone znaki z obu stron ciągu

Poniższy przykład zawiera listę możliwych znaków do usunięcia z ciągu.

SELECT TRIM( '.,! ' FROM '     #     test    .') AS Result;

Oto zestaw wyników.

#     test

W tym przykładzie usunięto tylko kropkę końcową i spacje z poprzednich # i po nim test . Inne znaki zostały zignorowane, ponieważ nie istniały w ciągu.

C. Usuń określone znaki od początku ciągu

Ważne

Aby użyć 160słów kluczowych , lub LEADING , TRAILINGmusisz ustawić BOTH poziom zgodności bazy danych.

Poniższy przykład usuwa wiodące z . początku ciągu przed wyrazem test.

SELECT TRIM(LEADING '.,! ' FROM  '     .#     test    .') AS Result;

Oto zestaw wyników.

#     test    .

D. Usuń określone znaki z końca ciągu

Ważne

Aby użyć 160słów kluczowych , lub LEADING , TRAILINGmusisz ustawić BOTH poziom zgodności bazy danych.

Poniższy przykład usuwa końcowy . ciąg z końca ciągu po słowie test.

SELECT TRIM(TRAILING '.,! ' FROM '     .#     test    .') AS Result;

Oto zestaw wyników.

     .#     test

E. Usuń określone znaki od początku i końca ciągu

Ważne

Aby użyć 160słów kluczowych , lub LEADING , TRAILINGmusisz ustawić BOTH poziom zgodności bazy danych.

Poniższy przykład usuwa znaki 123 od początku i końca ciągu 123abc123.

SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;

Oto zestaw wyników.

abc