TRIM (Transact-SQL)

Platí na: SQL Server 2017 (14.x) a novější verze Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL analytics endpoint in Microsoft FabricWarehouse in Microsoft FabricSQL database in Microsoft Fabric

Tip

Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, doporučujeme vám začít s „Fabric Data Warehouse“. Stávající úlohy dedikovaného SQL fondu mohou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analytikou v reálném čase a reportingem.

Odebere znak char(32) mezery nebo jiné zadané znaky ze začátku a konce řetězce.

Počínaje SQL Serverem 2022 (16.x) volitelně odebere znak mezery char(32) nebo jiné zadané znaky ze začátku, konce nebo obou stran řetězce.

Transact-SQL konvence syntaxe

Syntaxe

Syntax for SQL Server 2019 (15.x) a starší verze a Azure Synapse Analytics:

TRIM ( [ characters FROM ] string )

Syntax for SQL Server 2022 (16.x) a pozdější verze, Azure SQL Managed Instance, Azure SQL Database a Microsoft Fabric:

Důležité

Potřebujete úroveň kompatibility databáze nastavenou tak, aby 160 používala LEADINGklíčová slova , TRAILINGnebo BOTH klíčová slova.

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

Arguments

[ ÚVODNÍ | KONCOVÉ | OBA ]

Platí na: SQL Server 2022 (16.x) a pozdější verze, Azure SQL Managed Instance, Azure SQL Database a Microsoft Fabric:

Volitelný první argument určuje, která strana řetězce se má oříznout:

  • LEADING odebere znaky zadané od začátku řetězce.

  • TRAILING odebere znaky zadané na konci řetězce.

  • BOTH (výchozí poziční chování) odebere znaky zadané ze začátku a konce řetězce.

znaky

Literál, proměnná nebo volání funkce jakéhokoli jiného typu než LOB (nvarchar, varchar, nchar nebo char) obsahující znaky, které by měly být odebrány. Typy nvarchar(max) a varchar(max) nejsou povolené.

string

Výraz libovolného typu znaku (nvarchar, varchar, nchar nebo char), kde se mají odebrat znaky.

Návratové typy

Vrátí výraz znaku s typem řetězcového argumentu, kde je znak char(32) mezery nebo jiné zadané znaky odebrány z obou stran. Vrátí NULL , pokud je NULLvstupní řetězec .

Poznámky

Ve výchozím nastavení TRIM funkce odebere znak mezery z počátečního i koncového řetězce. Toto chování je ekvivalentní LTRIM(RTRIM(@string)).

Chcete-li povolit volitelné LEADINGargumenty , TRAILINGnebo BOTH poziční argumenty v SYSTÉMU SQL Server 2022 (16.x), je nutné povolit úroveň 160 kompatibility databáze v databázi, ke které se připojujete při provádění dotazů.

  • S volitelným LEADING pozičním argumentem je chování ekvivalentní LTRIM(@string, characters).
  • S volitelným TRAILING pozičním argumentem je chování ekvivalentní RTRIM(@string, characters).

Examples

A. Odebrání znaku mezery z obou stran řetězce

Následující příklad odebere mezery před a za slovem test.

SELECT TRIM( '     test    ') AS Result;

Tady je soubor výsledků.

test

B. Odebrání zadaných znaků z obou stran řetězce

Následující příklad obsahuje seznam možných znaků pro odebrání z řetězce.

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

Tady je soubor výsledků.

#     test

V tomto příkladu byly odebrány pouze koncové tečky a mezery před # a po slově test . Ostatní znaky byly ignorovány, protože v řetězci neexistují.

C. Odebrání zadaných znaků od začátku řetězce

Důležité

Potřebujete úroveň kompatibility databáze nastavenou tak, aby 160 používala LEADINGklíčová slova , TRAILINGnebo BOTH klíčová slova.

Následující příklad odebere úvodní . z začátku řetězce před slovem test.

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

Tady je soubor výsledků.

#     test    .

D. Odebrání zadaných znaků z konce řetězce

Důležité

Potřebujete úroveň kompatibility databáze nastavenou tak, aby 160 používala LEADINGklíčová slova , TRAILINGnebo BOTH klíčová slova.

Následující příklad odebere koncové . od konce řetězce za slovem test.

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

Tady je soubor výsledků.

     .#     test

E. Odebrání zadaných znaků od začátku a konce řetězce

Důležité

Potřebujete úroveň kompatibility databáze nastavenou tak, aby 160 používala LEADINGklíčová slova , TRAILINGnebo BOTH klíčová slova.

Následující příklad odebere znaky 123 od začátku a konce řetězce 123abc123.

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

Tady je soubor výsledků.

abc