Comparteix a través de


DATALENGTH (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Esta función devuelve el número de bytes usados para representar cualquier expresión.

Nota:

Para devolver el número de caracteres de una expresión de cadena, utilice la función LEN.

Convenciones de sintaxis de Transact-SQL

Sintaxis

DATALENGTH ( expression )   

Argumentos

expression
Una expression de cualquier tipo de datos.

Tipos de valores devueltos

bigint si expression tiene el tipo de datos nvarchar(max), varbinary(max) o varchar(max); en caso contrario, int.

Observaciones

DATALENGTH resulta muy útil cuando se usa con tipos de datos que pueden almacenar datos de longitud variable, como:

  • image
  • ntext
  • nvarchar
  • text
  • varbinary
  • varchar

Para un valor NULL, DATALENGTH devuelve NULL.

Nota:

Los niveles de compatibilidad pueden afectar a los valores devueltos. Para obtener más información sobre los niveles de compatibilidad, consulte Nivel de compatibilidad de ALTER DATABASE (Transact-SQL).

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

En este ejemplo se busca la longitud de la columna Name en la tabla Product:

USE AdventureWorks2022  
GO
SELECT length = DATALENGTH(EnglishProductName), EnglishProductName  
FROM dbo.DimProduct  
ORDER BY EnglishProductName;  
GO  

Consulte también

LEN (Transact-SQL)
CAST y CONVERT (Transact-SQL)
Tipos de datos (Transact-SQL)
Funciones del sistema (Transact-SQL)