LEN (Transact-SQL)LEN (Transact-SQL)

Se aplica a:Applies to: sí SQL ServerSQL Server (todas las versiones compatibles)yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance ?Azure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ?Almacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data WarehouseSe aplica a:Applies to: sí SQL ServerSQL Server (todas las versiones compatibles)yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance ?Azure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ?Almacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data Warehouse

Devuelve el número de caracteres de la expresión de cadena especificada, excluidos los espacios finales.Returns the number of characters of the specified string expression, excluding trailing spaces.

Nota

Para devolver el número de bytes usado para representar una expresión, use la función DATALENGTH.To return the number of bytes used to represent an expression, use the DATALENGTH function.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

LEN ( string_expression )  

ArgumentosArguments

string_expressionstring_expression
Es la expression de cadena que se va a evaluar.Is the string expression to be evaluated. string_expression puede ser una constante, una variable o una columna de datos binarios o de caracteres.string_expression can be a constant, variable, or column of either character or binary data.

Tipos de valor devueltoReturn Types

bigint si expression es de los tipos de datos varchar(max) , nvarchar(max) o varbinary(max) ; en caso contrario, es int.bigint if expression is of the varchar(max), nvarchar(max) or varbinary(max) data types; otherwise, int.

Si utiliza intercalaciones de SC, el valor entero devuelto cuenta los pares suplentes UTF-16 como un solo carácter.If you are using SC collations, the returned integer value counts UTF-16 surrogate pairs as a single character. Para más información, consulte Compatibilidad con la intercalación y Unicode.For more information, see Collation and Unicode Support.

ObservacionesRemarks

LEN no incluye espacios finales.LEN excludes trailing spaces. Si esto supone un problema, considere la opción de usar la función DATALENGTH (Transact-SQL), que no recorta la cadena.If that is a problem, consider using the DATALENGTH (Transact-SQL) function which does not trim the string. Si se procesa una cadena unicode, DATALENGTH devolverá un número que tal vez no sea igual al número de caracteres.If processing a unicode string, DATALENGTH will return a number that may not be equal to the number of characters. En este ejemplo se muestra LEN y DATALENGTH con un espacio final.The following example demonstrates LEN and DATALENGTH with a trailing space.

  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.Use the LEN to return the number of characters encoded into a given string expression, and DATALENGTH to return the size in bytes for a given string expression. Estos resultados pueden diferir en función del tipo de datos y del tipo de codificación utilizado en la columna.These outputs may differ depending on the data type and type of encoding used in the column. 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.For more information on storage differences between different encoding types, see Collation and Unicode Support.

EjemplosExamples

El ejemplo siguiente selecciona el número de caracteres y los datos en FirstName para las personas que se encuentran en Australia.The following example selects the number of characters and the data in FirstName for people located in Australia. En este ejemplo se utiliza la base de datos de AdventureWorks.This example uses the AdventureWorks database.

SELECT LEN(FirstName) AS Length, FirstName, LastName   
FROM Sales.vIndividualCustomer  
WHERE CountryRegionName = 'Australia';  
GO  

Ejemplos: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) y Almacenamiento de datos paralelosParallel Data WarehouseExamples: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) and Almacenamiento de datos paralelosParallel Data Warehouse

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.The following example returns the number of characters in the column FirstName and the first and last names of employees located in Australia.

USE AdventureWorks2016  
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';  

El conjunto de resultados es el siguiente:Here is the result set.

FNameLength  FirstName  LastName  
-----------  ---------  ---------------  
4            Lynn       Tsoflias

Consulte tambiénSee Also

DATALENGTH (Transact-SQL) DATALENGTH (Transact-SQL)
CHARINDEX (Transact-SQL)CHARINDEX (Transact-SQL)
PATINDEX (Transact-SQL)PATINDEX (Transact-SQL)
LEFT (Transact-SQL) LEFT (Transact-SQL)
RIGHT (Transact-SQL)RIGHT (Transact-SQL)
Tipos de datos (Transact-SQL) Data Types (Transact-SQL)
Funciones de cadena (Transact-SQL)String Functions (Transact-SQL)