LEN (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric
Gibt die Anzahl von Zeichen im angegebenen Zeichenfolgenausdruck zurück, wobei nachstehende Leerzeichen ausgeschlossen werden.
Hinweis
Verwenden Sie die DATALENGTH-Funktion, um die Anzahl von Bytes zurückzugeben, die zur Darstellung eines Ausdrucks verwendet werden.
Transact-SQL-Syntaxkonventionen
Syntax
LEN ( string_expression )
Argumente
string_expression
Ist der auszuwertende Zeichenfolgenausdruck. string_expression kann eine Konstante, Variable oder Spalte mit Zeichen- oder Binärdaten darstellen.
Rückgabetypen
bigint, wenn expression vom Datentyp varchar(max) , nvarchar(max) oder varbinary(max) ist; andernfalls int.
Wenn Sie SC-Sortierungen verwenden, betrachtet der zurückgegebene ganzzahlige Wert UTF-16-Ersatzpaare als einzelne Zeichen. Weitere Informationen finden Sie unter Collation and Unicode Support.
Bemerkungen
Durch LEN werden nachstehende Leerzeichen ausgeschlossen. Wenn dies ein Problem darstellt, erwägen Sie die Verwendung der Funktion DATALENGTH (Transact-SQL), die die Zeichenfolge nicht abtrennt. Wenn eine Unicode-Zeichenfolge verarbeitet wird, gibt DATALENGTH eine Zahl zurück, die möglicherweise nicht der Anzahl von Zeichen entspricht. Im folgenden Beispiel werden LEN und DATALENGTH mit nachfolgenden Leerräumen veranschaulicht.
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. Diese Ausgaben können sich unterscheiden, je nachdem, welcher Datentyp und welche Art von Codierung in der Spalte verwendet werden. Weitere Informationen zu Speicherunterschieden zwischen verschiedenen Codierungstypen finden Sie unter Sortierung und Unicode-Unterstützung.
Beispiele
Das folgende Beispiel wählt die Anzahl von Zeichen und die Daten in FirstName
für Personen in Australia
aus. In diesem Beispiel wird die AdventureWorks-Datenbank verwendet.
SELECT LEN(FirstName) AS Length, FirstName, LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = 'Australia';
GO
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
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.
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';
Hier sehen Sie das Ergebnis.
FNameLength FirstName LastName
----------- --------- ---------------
4 Lynn Tsoflias
Weitere Informationen
DATALENGTH (Transact-SQL)
CHARINDEX (Transact-SQL)
PATINDEX (Transact-SQL)
LEFT (Transact-SQL)
RIGHT (Transact-SQL)
Datentypen (Transact-SQL)
Zeichenfolgenfunktionen (Transact-SQL)