LEN (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric
Devuelve el número de caracteres de la expresión de cadena especificada, excluidos los espacios finales.
Nota
Para devolver el número de bytes usado para representar una expresión, use la función DATALENGTH.
Convenciones de sintaxis de Transact-SQL
Sintaxis
LEN ( string_expression )
Argumentos
string_expression
Es la expression de cadena que se va a evaluar. string_expression puede ser una constante, una variable o una columna de datos binarios o de caracteres.
Tipos de valor devuelto
bigint si expression es de los tipos de datos varchar(max) , nvarchar(max) o varbinary(max) ; en caso contrario, es int.
Si utiliza intercalaciones de SC, el valor entero devuelto cuenta los pares suplentes UTF-16 como un solo carácter. Para más información, consulte Compatibilidad con la intercalación y Unicode.
Comentarios
LEN no incluye espacios finales. Si esto supone un problema, considere la opción de usar la función DATALENGTH (Transact-SQL), que no recorta la cadena. Si se procesa una cadena unicode, DATALENGTH devolverá un número que tal vez no sea igual al número de caracteres. En este ejemplo se muestra LEN y DATALENGTH con un espacio final.
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];
Nota
Use LEN para devolver el número de caracteres codificados en una expresión de cadena determinada y DATALENGTH para devolver el tamaño en bytes para una expresión de cadena determinada. Estos resultados pueden diferir en función del tipo de datos y del tipo de codificación utilizado en la columna. Para obtener más información sobre las diferencias de almacenamiento entre los distintos tipos de codificación, consulte Compatibilidad con la intercalación y Unicode.
Ejemplos
El ejemplo siguiente selecciona el número de caracteres y los datos en FirstName
para las personas que se encuentran en Australia
. En este ejemplo se utiliza la base de datos de AdventureWorks.
SELECT LEN(FirstName) AS Length, FirstName, LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = 'Australia';
GO
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
En este ejemplo se devuelve el número de caracteres en la columna FirstName
y los nombres y apellidos de los empleados que se encuentran en 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';
Este es el conjunto de resultados.
FNameLength FirstName LastName
----------- --------- ---------------
4 Lynn Tsoflias
Consulte también
DATALENGTH (Transact-SQL)
CHARINDEX (Transact-SQL)
PATINDEX (Transact-SQL)
LEFT (Transact-SQL)
RIGHT (Transact-SQL)
Tipos de datos (Transact-SQL)
String Functions (Transact-SQL) [Funciones de cadena (Transact-SQL)]