Dela via


TRIM (Transact-SQL)

Gäller för: SQL Server 2017 (14.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Analytics-slutpunkt i Microsoft Fabric Warehouse i Microsoft Fabric

Tar bort blankstegstecknet char(32) eller andra angivna tecken från början och slutet av en sträng.

Du kan också ta bort blankstegstecknet char(32) eller andra angivna tecken från början, slutet eller båda sidor av en sträng.

Från och med SQL Server 2022 (16.x) kan du ta bort blankstegstecknet char(32) eller andra angivna tecken från början, slutet eller båda sidor av en sträng.

Transact-SQL syntaxkonventioner

Syntax

Syntax för SQL Server 2022 (16.x) och tidigare versioner, Azure SQL Database och Azure Synapse Analytics:

TRIM ( [ characters FROM ] string )

Syntax för SQL Server 2022 (16.x) och senare versioner, Azure SQL Managed Instance och Microsoft Fabric:

Viktigt!

Databasens kompatibilitetsnivå måste vara inställd 160 på för att använda nyckelorden LEADING, TRAILINGeller BOTH .

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

Arguments

[ LEDANDE | AVSLUTANDE | BÅDA ]

Gäller för: SQL Server 2022 (16.x) och senare versioner, Azure SQL Managed Instance och Microsoft Fabric:

Det valfria första argumentet anger vilken sida av strängen som ska trimmas:

  • LEADING tar bort tecken som angetts från början av en sträng.

  • TRAILING tar bort tecken som angetts från slutet av en sträng.

  • BOTH (standardpositionsbeteende) tar bort tecken som anges från början och slutet av en sträng.

Tecken

Ett literal-, variabel- eller funktionsanrop av någon typ av icke-LOB-tecken (nvarchar, varchar, nchar eller tecken) som innehåller tecken som ska tas bort. typerna nvarchar(max) och varchar(max) tillåts inte.

string

Ett uttryck av valfri teckentyp (nvarchar, varchar, nchar eller char) där tecken ska tas bort.

Returtyper

Returnerar ett teckenuttryck med en typ av strängargument där blankstegstecknet char(32) eller andra angivna tecken tas bort från båda sidor. Returnerar NULL om indatasträngen är NULL.

Anmärkningar

Som standard TRIM tar funktionen bort blankstegstecknet från både början och slutet av strängen. Det här beteendet motsvarar LTRIM(RTRIM(@string)).

Om du vill aktivera valfria LEADING, TRAILINGeller BOTH positionella argument i SQL Server 2022 (16.x) måste du aktivera databaskompatibilitetsnivå 160 på den databas som du ansluter till när du kör frågor.

  • Med valfritt LEADING positionsargument motsvarar LTRIM(@string, characters)beteendet .
  • Med valfritt TRAILING positionsargument motsvarar RTRIM(@string, characters)beteendet .

Examples

A. Ta bort blankstegstecknet från båda sidor av strängen

I följande exempel tar bort blanksteg från före och efter ordet test.

SELECT TRIM( '     test    ') AS Result;

Här är resultatet.

test

B. Ta bort angivna tecken från båda sidor av strängen

I följande exempel finns en lista över möjliga tecken att ta bort från en sträng.

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

Här är resultatet.

#     test

I det här exemplet är det bara den avslutande perioden och blankstegen före # och efter att ordet test har tagits bort. De andra tecknen ignorerades eftersom de inte fanns i strängen.

C. Ta bort angivna tecken från början av en sträng

Viktigt!

Databasens kompatibilitetsnivå måste vara inställd 160 på för att använda nyckelorden LEADING, TRAILINGeller BOTH .

Följande exempel tar bort inledandet . från början av strängen före ordet test.

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

Här är resultatet.

#     test    .

D. Ta bort angivna tecken från slutet av en sträng

Viktigt!

Databasens kompatibilitetsnivå måste vara inställd 160 på för att använda nyckelorden LEADING, TRAILINGeller BOTH .

Följande exempel tar bort avslutande . från slutet av strängen efter ordet test.

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

Här är resultatet.

     .#     test

E. Ta bort angivna tecken från början och slutet av en sträng

Viktigt!

Databasens kompatibilitetsnivå måste vara inställd 160 på för att använda nyckelorden LEADING, TRAILINGeller BOTH .

Följande exempel tar bort tecknen 123 från början och slutet av strängen 123abc123.

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

Här är resultatet.

abc