Megosztás a következőn keresztül:


LEN (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics platformrendszer (PDW)SQL-elemzési végpont a Microsoft FabricA Microsoft Fabric Warehouse-ban

A megadott sztringkifejezés karaktereinek számát adja vissza, a záró szóközök kivételével.

Megjegyzés:

A kifejezések megjelenítéséhez használt bájtok számának visszaadásához használja a DATALENGTH függvényt .

Transact-SQL szintaxis konvenciók

Szemantika

LEN ( string_expression )  

Érvek

string_expression
A kiértékelendő sztringkifejezés . string_expression lehet egy állandó, változó vagy oszlop karakterből vagy bináris adatból.

Visszatérési típusok

bigint , ha a kifejezésvarchar(max), nvarchar(max) vagy varbinary(max) adattípusból áll; egyéb esetben int.

Ha SC-rendezéseket használ, a visszaadott egész szám az UTF-16 helyettesítő párokat egyetlen karakterként számítja ki. További információ: kolláció és Unicode-támogatás.

Megjegyzések

A LEN kizárja a záró szóközöket. Ha ez probléma, fontolja meg a DATALENGTH (Transact-SQL) függvény használatát, amely nem vágja le a sztringet. Unicode-sztring feldolgozása esetén a DATALENGTH olyan számot ad vissza, amely nem feltétlenül egyenlő a karakterek számával. Az alábbi példa egy záró szóközzel szemlélteti a LEN és a DATALENGTH függvényt.

  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];  

Megjegyzés:

A LEN használatával visszaadhatja egy adott sztringkifejezésbe kódolt karakterek számát, a DATALENGTH pedig egy adott sztringkifejezés bájtban megadott méretét. Ezek a kimenetek az oszlopban használt adattípustól és kódolási típustól függően eltérhetnek. A különböző kódolási típusok közötti tárolási különbségekről további információt a Rendezés és a Unicode támogatása című témakörben talál.

Példák

Az alábbi példa a karakterek számát és a benne lévő FirstNameszemélyek adatait Australia jelöli ki. Ez a példa az AdventureWorks adatbázist használja.

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

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

Az alábbi példa az oszlopban FirstName lévő karakterek számát, valamint a benne található Australiaalkalmazottak vezeték- és utónevét adja vissza.

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';  

Itt van az eredmények összessége.

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

Lásd még:

DATALENGTH (Transact-SQL)
CHARINDEX (Transact-SQL)
PATINDEX (Transact-SQL)
BAL (Transact-SQL)
RIGHT (Transact-SQL)
adattípusok (Transact-SQL)
sztringfüggvények (Transact-SQL)