Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Vrátí počet znaků zadaného řetězcového výrazu s výjimkou koncových mezer.
Poznámka:
Pokud chcete vrátit počet bajtů použitých k vyjádření výrazu, použijte funkci DATALENGTH .
Syntaxe
LEN ( string_expression )
Argumenty
string_expression
Řetězcový výraz , který se má vyhodnotit. string_expression může být konstanta, proměnná nebo sloupec znakových nebo binárních dat.
Návratové typy
bigint pokud je výrazem varchar(max), nvarchar(max) nebo varbinary(max) datových typů; jinak, int.
Pokud používáte kolace SC, vrácená celočíselná hodnota počítá náhradní dvojice UTF-16 jako jeden znak. Další informace najdete v tématu podpora kolace a kódování Unicode.
Poznámky
LEN vyloučí koncové mezery. Pokud se jedná o problém, zvažte použití funkce DATALENGTH , která řetězec neořízá. Při zpracování řetězce unicode vrátí číslo, DATALENGTH které nemusí být rovno počtu znaků. Následující příklad ukazuje LEN a DATALENGTH s koncovou mezerou.
DECLARE @v1 AS VARCHAR (40), @v2 AS 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];
Poznámka:
Slouží LEN k vrácení počtu znaků zakódovaných do daného řetězcového výrazu a funkce DATALENGTH vrátí velikost v bajtech pro daný řetězcový výraz. Tyto výstupy se můžou lišit v závislosti na datovém typu a typu kódování použitém ve sloupci. Další informace o rozdílech úložiště mezi různými typy kódování najdete v tématu Podpora kolace a Unicode.
Příklady
Následující příklad vybere počet znaků a data FirstName pro osoby umístěné v Australia. Tento příklad používá databázi AdventureWorks.
SELECT LEN(FirstName) AS Length,
FirstName,
LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = 'Australia';
GO
Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)
Následující příklad vrátí počet znaků ve sloupci FirstName a jméno (FirstName) a jméno rodiny (LastName) zaměstnanců umístěných v Australia.
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';
Tady je soubor výsledků.
FNameLength FirstName LastName
----------- --------- ---------------
4 Lynn Tsoflias
Související obsah
- DÉLKA DAT (Transact-SQL)
- CHARINDEX (Transact-SQL)
- PATINDEX (Transact-SQL)
- VLEVO (Transact-SQL)
- VPRAVO (Transact-SQL)
- Datové typy (Transact-SQL)
-
řetězcové funkce (Transact-SQL)