Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL in Microsoft Fabric
Restituisce il numero di caratteri dell'espressione stringa specificata, esclusi gli spazi finali.
Nota
Per restituire il numero di byte usati per rappresentare un'espressione, usare la funzione DATALENGTH.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
LEN ( string_expression )
Argomenti
string_expression
Espressione stringa da valutare. string_expression può essere una costante, una variabile o una colonna di dati di tipo carattere o binario.
Tipi restituiti
bigint se expression è dei tipi di dati varchar(max), nvarchar(max)o varbinary(max); in caso contrario, int.
Se si usano regole di confronto SC, il valore intero restituito conta coppie di surrogati UTF-16 come singolo carattere. Per ulteriori informazioni, vedere Supporto per Unicode e regole di confronto.
Osservazioni:
LEN esclude gli spazi finali. Se si tratta di un problema, prendere in considerazione l'uso della funzione DATALENGTH , che non taglia la stringa. Se si elabora una stringa Unicode, DATALENGTH restituisce un numero che potrebbe non essere uguale al numero di caratteri. Nell'esempio seguente viene illustrato LEN e DATALENGTH con uno spazio finale.
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];
Nota
Utilizzare LEN per restituire il numero di caratteri codificati in un'espressione stringa specificata e DATALENGTH per restituire le dimensioni in byte per un'espressione stringa specificata. Questi output possono variare a seconda del tipo di dati e del tipo di codifica usati nella colonna. Per altre informazioni sulle differenze di archiviazione tra tipi di codifica diversi, vedere Regole di confronto e supporto Unicode.
Esempi
Nell'esempio seguente vengono selezionati il numero di caratteri e i dati in FirstName per le persone residenti in Australia. In questo esempio viene utilizzato il database AdventureWorks.
SELECT LEN(FirstName) AS Length,
FirstName,
LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = 'Australia';
GO
Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)
Nell'esempio seguente viene restituito il numero di caratteri nella colonna FirstName e il nome (FirstName) e il nome della famiglia (LastName) dei dipendenti che si trovano in 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';
Il set di risultati è il seguente.
FNameLength FirstName LastName
----------- --------- ---------------
4 Lynn Tsoflias