Freigeben über


DATALENGTH (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Diese Funktion gibt die Anzahl von Bytes zurück, die zum Darstellen eines Ausdrucks verwendet werden.

Hinweis

Um die Anzahl von Zeichen in einem Zeichenfolgenausdruck zurückzugeben, verwenden Sie die LEN-Funktion.

Transact-SQL-Syntaxkonventionen

Syntax

DATALENGTH ( expression )   

Argumente

expression
Ein Ausdruck mit beliebigem Datentyp.

Rückgabetypen

bigint, wenn expression den Datentyp nvarchar(max), varbinary(max) oder varchar(max) hat; andernfalls int.

Hinweise

DATALENGTH ist besonders beim Einsatz mit Datentypen nützlich, die Daten variabler Länge speichern können, z. B.:

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

Für einen NULL-Wert gibt DATALENGTH NULL zurück.

Hinweis

Kompatibilitätsgrade können sich auf Rückgabewerte auswirken. Weitere Informationen zu den Kompatibilitätsgraden finden Sie unter ALTER DATABASE-Kompatibilitätsgrad (Transact-SQL).

Hinweis

Verwenden Sie LEN, um die Anzahl von Zeichen zurückzugeben, die in einem angegebenen Zeichenfolgenausdruck codiert sind. Mit DATALENGTH geben Sie die Größe in Byte für einen angegebenen Zeichenfolgenausdruck zurück. Diese Ausgaben können sich unterscheiden, je nachdem, welcher Datentyp und welche Art von Codierung in der Spalte verwendet werden. Weitere Informationen zu Speicherunterschieden zwischen verschiedenen Codierungstypen finden Sie unter Sortierung und Unicode-Unterstützung.

Beispiele

In diesem Beispiel wird nach der Länge der Name-Spalte in der Product-Tabelle gesucht:

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

Weitere Informationen

LEN (Transact-SQL)
CAST und CONVERT (Transact-SQL)
Datentypen (Transact-SQL)
Systemfunktionen (Transact-SQL)