Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de SQL Analytics en Microsoft Fabric
Almacén en Microsoft Fabric
Base de datos SQL 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
Expresión 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 retorno
bigint si expression es de los tipos de datos varchar(max), nvarchar(max)o varbinary(max); de lo contrario, int.
Si usa intercalaciones SC, el valor entero devuelto cuenta pares suplentes UTF-16 como un solo carácter. Para obtener más información, consulte Soporte con intercalación y Unicode.
Comentarios
LEN excluye los espacios finales. Si se trata de un problema, considere la posibilidad de usar la función DATALENGTH , que no recorta la cadena. Si procesa una cadena unicode, DATALENGTH devuelve un número que podría no ser igual al número de caracteres. En el ejemplo siguiente se muestra LEN y DATALENGTH con un espacio final.
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
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. Estas salidas pueden diferir en función del tipo de datos y del tipo de codificación que se usa en la columna. Para obtener más información sobre las diferencias de almacenamiento entre diferentes tipos de codificación, consulte Compatibilidad con 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 el ejemplo siguiente se devuelve el número de caracteres de la columna FirstName y el nombre () y el nombre de familia (FirstNameLastName) de los empleados ubicados 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