Aracılığıyla paylaş


LEN (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Microsoft FabricWarehouse'da SQL analiz uç noktası

Belirtilen dize ifadesinin karakter sayısını döndürür; sondaki boşluklar hariç.

Uyarı

Bir ifadeyi temsil etmek için kullanılan bayt sayısını döndürmek için DATALENGTH işlevini kullanın.

Transact-SQL söz dizimi kuralları

Sözdizimi

LEN ( string_expression )  

Tartışmalar

string_expression
Değerlendirilecek dize ifadesidir . string_expression , karakter veya ikili verilerden oluşan sabit, değişken veya sütun olabilir.

Dönüş Türleri

ifadevarchar(max), nvarchar(max) veya varbinary(max) veri türlerindeyse bigint; aksi takdirde, int.

SC harmanlamaları kullanıyorsanız, döndürülen tamsayı değeri UTF-16 vekil çiftlerini tek bir karakter olarak sayar. Daha fazla bilgi için bkz. Harmanlama ve Unicode Desteği.

Açıklamalar

UZUNLUK, sondaki boşlukları dışlar. Bu bir sorunsa, dizeyi kırpmayan DATALENGTH (Transact-SQL) işlevini kullanmayı göz önünde bulundurun. Bir Unicode dizesi işleniyorsa DATALENGTH, karakter sayısına eşit olmayan bir sayı döndürür. Aşağıdaki örnekte, sonunda boşluk olan LEN ve DATALENGTH gösterilmektedir.

  DECLARE @v1 VARCHAR(40),  
    @v2 NVARCHAR(40);  
SELECT   
@v1 = 'Test of 22 characters ',   
@v2 = 'Test of 22 characters ';  
SELECT LEN(@v1) AS [VARCHAR LEN] , DATALENGTH(@v1) AS [VARCHAR DATALENGTH];  
SELECT LEN(@v2) AS [NVARCHAR LEN], DATALENGTH(@v2) AS [NVARCHAR DATALENGTH];  

Uyarı

Belirli bir dize ifadesinde kodlanmış karakter sayısını döndürmek için UZUNLUK ve belirli bir dize ifadesinin bayt cinsinden boyutunu döndürmek için DATALENGTH kullanın. Bu çıkışlar, sütunda kullanılan veri türüne ve kodlama türüne bağlı olarak farklılık gösterebilir. Farklı kodlama türleri arasındaki depolama farklılıkları hakkında daha fazla bilgi için bkz. Harmanlama ve Unicode Desteği.

Örnekler

Aşağıdaki örnek, içinde bulunan FirstNamekişilerin karakter sayısını ve içindeki Australia verileri seçer. Bu örnekte AdventureWorks veritabanı kullanılmaktadır.

SELECT LEN(FirstName) AS Length, FirstName, LastName   
FROM Sales.vIndividualCustomer  
WHERE CountryRegionName = 'Australia';  
GO  

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

Aşağıdaki örnek, sütunundaki FirstName karakter sayısını ve içinde Australiabulunan çalışanların adlarını ve soyadlarını döndürür.

USE AdventureWorks2022  
GO  
SELECT DISTINCT LEN(FirstName) AS FNameLength, FirstName, LastName   
FROM dbo.DimEmployee AS e  
INNER JOIN dbo.DimGeography AS g   
    ON e.SalesTerritoryKey = g.SalesTerritoryKey   
WHERE EnglishCountryRegionName = 'Australia';  

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

FNameLength  FirstName  LastName  
-----------  ---------  ---------------  
4            Lynn       Tsoflias

Ayrıca Bkz.

DATALENGTH (Transact-SQL)
CHARINDEX (Transact-SQL)
PATINDEX (Transact-SQL)
LEFT (Transact-SQL)
RIGHT (Transact-SQL)
Veri Türleri (Transact-SQL)
Dize İşlevleri (Transact-SQL)