Aracılığıyla paylaş


TRIM (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümler Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL analytics endpoint in Microsoft FabricWarehouse SQL databasein Microsoft Fabric

Dizenin başından ve sonundan boşluk karakterini char(32) veya belirtilen diğer karakterleri kaldırır.

SQL Server 2022'den (16.x) başlayarak, isteğe bağlı olarak dizenin başlangıcından, sonundan veya her iki tarafından boşluk karakterini char(32) veya belirtilen diğer karakterleri kaldırır.

Transact-SQL söz dizimi kuralları

Sözdizimi

SQL Server 2019 (15.x) ve önceki sürümler için Syntax ile Azure Synapse Analytics:

TRIM ( [ characters FROM ] string )

SQL Server 2022 (16.x) ve sonraki sürümler, Azure SQL Managed Instance, Azure SQL Database ve Microsoft Fabric için Syntax:

Önemli

, veya 160 anahtar sözcüklerini kullanmak LEADINGTRAILINGiçin BOTH veritabanı uyumluluk düzeyinizin ayarlanmış olması gerekir.

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

Arguments

[ ÖNDE GELEN | SONDAKI | HER İKİSİ ]

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümler, Azure SQL Managed Instance, Azure SQL Database ve Microsoft Fabric:

İsteğe bağlı ilk bağımsız değişken, dizenin hangi tarafının kırpılır olduğunu belirtir:

  • LEADING dizenin başından belirtilen karakterleri kaldırır.

  • TRAILING dizenin sonundan belirtilen karakterleri kaldırır.

  • BOTH (varsayılan konumsal davranış), dizenin başından ve sonundan belirtilen karakterleri kaldırır.

Karakter

Kaldırılması gereken karakterleri içeren LOB olmayan herhangi bir karakter türünün (nvarchar, varchar, nchar veya char) değişmez değer, değişken veya işlev çağrısı. nvarchar(max) ve varchar(max) türlerine izin verilmez.

string

Karakterlerin kaldırılması gereken herhangi bir karakter türünün (nvarchar, varchar, nchar veya char) ifadesi.

Dönüş türleri

Boşluk karakterinin veya belirtilen diğer karakterlerin her iki taraftan da kaldırıldığı dize bağımsız değişkeni türüne sahip bir karakter char(32) ifadesi döndürür. Giriş dizesi ise NULLdöndürürNULL.

Açıklamalar

Varsayılan olarak işlev, TRIM dizenin hem başlangıcından hem de sonundan boşluk karakterini kaldırır. Bu davranış ile LTRIM(RTRIM(@string))eşdeğerdir.

SQL Server 2022'de (16.x) isteğe bağlı LEADING, TRAILINGveya BOTH konumsal bağımsız değişkenleri etkinleştirmek için, sorguları yürütürken bağlandığınız veritabanında veritabanı uyumluluk düzeyini 160 etkinleştirmeniz gerekir.

  • İsteğe bağlı LEADING konumsal bağımsız değişkende davranış ile eşdeğerdir LTRIM(@string, characters).
  • İsteğe bağlı TRAILING konumsal bağımsız değişkende davranış ile eşdeğerdir RTRIM(@string, characters).

Örnekler

A. Dizenin her iki tarafından boşluk karakterini kaldırma

Aşağıdaki örnek, sözcüğünden testönceki ve sonraki boşluklarını kaldırır.

SELECT TRIM( '     test    ') AS Result;

Sonuç kümesi aşağıdadır.

test

B. Belirtilen karakterleri dizenin her iki tarafından da kaldır

Aşağıdaki örnek, bir dizeden kaldırılacak olası karakterlerin listesini sağlar.

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

Sonuç kümesi aşağıdadır.

#     test

Bu örnekte, yalnızca sözcüğün # öncesinden test ve sonrasından gelen sondaki nokta ve boşluklar kaldırılmıştır. Dizede mevcut olmadıkları için diğer karakterler yoksayıldı.

C. Belirtilen karakterleri dizenin başından kaldırma

Önemli

, veya 160 anahtar sözcüklerini kullanmak LEADINGTRAILINGiçin BOTH veritabanı uyumluluk düzeyinizin ayarlanmış olması gerekir.

Aşağıdaki örnek, dizenin . başındaki baştaki öğesini sözcüğünden testönce kaldırır.

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

Sonuç kümesi aşağıdadır.

#     test    .

D. Belirtilen karakterleri dizenin sonundan kaldırma

Önemli

, veya 160 anahtar sözcüklerini kullanmak LEADINGTRAILINGiçin BOTH veritabanı uyumluluk düzeyinizin ayarlanmış olması gerekir.

Aşağıdaki örnek, sözcüğünden .testsonra dizenin sonundaki öğesini kaldırır.

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

Sonuç kümesi aşağıdadır.

     .#     test

E. Belirtilen karakterleri dizenin başından ve sonundan kaldırma

Önemli

, veya 160 anahtar sözcüklerini kullanmak LEADINGTRAILINGiçin BOTH veritabanı uyumluluk düzeyinizin ayarlanmış olması gerekir.

Aşağıdaki örnek, dizenin 123başındaki ve sonundaki karakterleri 123abc123 kaldırır.

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

Sonuç kümesi aşağıdadır.

abc