DATALENGTH
返回任何表达式所占用的字节数。
语法
DATALENGTH ( expression )
参数
expression
任何类型的表达式。
返回类型
int
注释
DATALENGTH 对 varchar、varbinary、text、image、nvarchar 和 ntext 数据类型特别有用,因为这些数据类型可以存储可变长度数据。
NULL 的 DATALENGTH 的结果是 NULL。
说明 兼容级别可能影响返回值。有关兼容级别的更多信息,请参见 sp_dbcmptlevel。
示例
此示例查找pubs
表中 pub_name 列的长度。
USE pubs
GO
SELECT length = DATALENGTH(pub_name), pub_name
FROM publishers
ORDER BY pub_name
GO
下面是结果集:
length pub_name
----------- ----------------------------------------
20 Algodata Infosystems
16 Binnet & Hardley
21 Five Lakes Publishing
5 GGG&G
18 Lucerne Publishing
14 New Moon Books
17 Ramona Publishers
14 Scootney Books
--占用存储空间列表
select d.WarehouseName,c.DepartmentName,b.EquipmentNo,b.ToolName, DATALENGTH(a.Picture)/1024 as Length_KB, DATALENGTH(a.Picture)/1024/1024 as Length_MB from T_ToolPic a
inner join t_tool b on a.ToolID = b.ToolID
inner join T_Department c on b.DepartmentID = c.DepartmentID
inner join T_Warehouse d on b.WarehouseID = d.WarehouseID
order by DATALENGTH(a.Picture) desc,c.DepartmentName,d.WarehouseName
--图片占用数据库存储空间
select sum(DATALENGTH(a.Picture)/1024)/1024 as Length_MB from T_ToolPic a
inner join t_tool b on a.ToolID = b.ToolID
inner join T_Department c on b.DepartmentID = c.DepartmentID
inner join T_Warehouse d on b.WarehouseID = d.WarehouseID