LEN (Transact-SQL)LEN (Transact-SQL)

Anwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL Database JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance zwarAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics zwarParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseAnwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL Database JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance zwarAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics zwarParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Gibt die Anzahl von Zeichen im angegebenen Zeichenfolgenausdruck zurück, wobei nachstehende Leerzeichen ausgeschlossen werden.Returns the number of characters of the specified string expression, excluding trailing spaces.

Hinweis

Verwenden Sie die DATALENGTH-Funktion, um die Anzahl von Bytes zurückzugeben, die zur Darstellung eines Ausdrucks verwendet werden.To return the number of bytes used to represent an expression, use the DATALENGTH function.

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

LEN ( string_expression )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumenteArguments

string_expressionstring_expression
Ist der auszuwertende Zeichenfolgenausdruck.Is the string expression to be evaluated. string_expression kann eine Konstante, Variable oder Spalte mit Zeichen- oder Binärdaten darstellen.string_expression can be a constant, variable, or column of either character or binary data.

RückgabetypenReturn Types

bigint, wenn expression vom Datentyp varchar(max) , nvarchar(max) oder varbinary(max) ist; andernfalls int.bigint if expression is of the varchar(max), nvarchar(max) or varbinary(max) data types; otherwise, int.

Wenn Sie SC-Sortierungen verwenden, betrachtet der zurückgegebene ganzzahlige Wert UTF-16-Ersatzpaare als einzelne Zeichen.If you are using SC collations, the returned integer value counts UTF-16 surrogate pairs as a single character. Weitere Informationen finden Sie unter Collation and Unicode Support.For more information, see Collation and Unicode Support.

BemerkungenRemarks

Durch LEN werden nachstehende Leerzeichen ausgeschlossen.LEN excludes trailing spaces. Wenn dies ein Problem darstellt, erwägen Sie die Verwendung der Funktion DATALENGTH (Transact-SQL), die die Zeichenfolge nicht abtrennt.If that is a problem, consider using the DATALENGTH (Transact-SQL) function which does not trim the string. Wenn eine Unicode-Zeichenfolge verarbeitet wird, gibt DATALENGTH eine Zahl zurück, die möglicherweise nicht der Anzahl von Zeichen entspricht.If processing a unicode string, DATALENGTH will return a number that may not be equal to the number of characters. Im folgenden Beispiel werden LEN und DATALENGTH mit nachfolgenden Leerräumen veranschaulicht.The following example demonstrates LEN and DATALENGTH with a trailing space.

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

Hinweis

Verwenden Sie LEN, um die Anzahl von Zeichen zurückzugeben, die in einem angegebenen Zeichenfolgenausdruck codiert sind. Mit DATALENGTH geben Sie die Größe in Byte für einen angegebenen Zeichenfolgenausdruck zurück.Use the LEN to return the number of characters encoded into a given string expression, and DATALENGTH to return the size in bytes for a given string expression. Diese Ausgaben können sich unterscheiden, je nachdem, welcher Datentyp und welche Art von Codierung in der Spalte verwendet werden.These outputs may differ depending on the data type and type of encoding used in the column. Weitere Informationen zu Speicherunterschieden zwischen verschiedenen Codierungstypen finden Sie unter Sortierung und Unicode-Unterstützung.For more information on storage differences between different encoding types, see Collation and Unicode Support.

BeispieleExamples

Das folgende Beispiel wählt die Anzahl von Zeichen und die Daten in FirstName für Personen in Australia aus.The following example selects the number of characters and the data in FirstName for people located in Australia. In diesem Beispiel wird die AdventureWorks-Datenbank verwendet.This example uses the AdventureWorks database.

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

Beispiele: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) und Parallel Data WarehouseParallel Data WarehouseExamples: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) and Parallel Data WarehouseParallel Data Warehouse

Im folgenden Beispiel wird die Anzahl von Zeichen in der Spalte FirstName zurückgegeben, und die Vor- und Nachnamen der Mitarbeiter werden in Australia zurückgegeben.The following example returns the number of characters in the column FirstName and the first and last names of employees located in Australia.

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

Hier ist das Resultset.Here is the result set.

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

Weitere InformationenSee Also

DATALENGTH (Transact-SQL) DATALENGTH (Transact-SQL)
CHARINDEX (Transact-SQL)CHARINDEX (Transact-SQL)
PATINDEX (Transact-SQL)PATINDEX (Transact-SQL)
LEFT (Transact-SQL) LEFT (Transact-SQL)
RIGHT (Transact-SQL)RIGHT (Transact-SQL)
Datentypen (Transact-SQL) Data Types (Transact-SQL)
String Functions (Transact-SQL) (Zeichenfolgenfunktionen (Transact-SQL))String Functions (Transact-SQL)