DATALENGTH (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
此函数返回用于表示任何表达式的字节数。
注意
若要返回字符串表达式中的字符数,请使用 LEN 函数。
语法
DATALENGTH ( expression )
注意
若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档。
参数
expression
任何数据类型的表达式。
返回类型
如果 expression 具有一个 nvarchar(max)、varbinary(max) 或 varchar(max) 数据类型,则为 bigint;否则为 int。
备注
当与可以存储长度可变数据的数据类型一起使用时,DATALENGTH
会非常有用,如:
- 图像
- 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)