DATALENGTH (Transact-SQL)
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
此函式會傳回用來代表任何運算式的位元組數目。
注意
若要傳回字串運算式中的字元數目,請使用 LEN 函式。
語法
DATALENGTH ( expression )
引數
expression
任何資料類型的運算式。
傳回類型
如果 expression 具有 nvarchar(max)、varbinary(max) 或 varchar(max) 資料類型,則為 bigint;否則為 int。
備註
對於可以儲存可變長度資料的資料類型,DATALENGTH
會非常有用:
- image
- ntext
- nvarchar
- text
- varbinary
- varchar
針對 NULL 值,DATALENGTH
會傳回 NULL。
注意
相容性層級可能會影響傳回值。 如需相容性層級的詳細資訊,請參閱 ALTER DATABASE 相容性層級 (Transact-SQL)。
注意
使用 LEN 傳回編碼成所給定字串運算式的字元數目,使用 DATALENGTH 則傳回所給定字串運算式的大小 (以位元組為單位)。 取決於資料行中所使用的資料類型和編碼類型而,這些輸出可能會有所不同。 如需不同編碼類型之間儲存體差異的詳細資訊,請參閱定序與 Unicode 支援。
範例
此範例會尋找 Product
資料表中 Name
資料行的長度:
USE AdventureWorks2022
GO
SELECT length = DATALENGTH(EnglishProductName), EnglishProductName
FROM dbo.DimProduct
ORDER BY EnglishProductName;
GO
另請參閱
LEN (Transact-SQL)
CAST 和 CONVERT (Transact-SQL)
資料類型 (Transact-SQL)
系統函數 (Transact-SQL)