SQL Server获取TEXT字段的内容长度

DATALENGTH

返回任何表达式所占用的字节数。

语法

DATALENGTH expression )

参数

expression

任何类型的表达式。

返回类型

int

注释

DATALENGTH 对 varcharvarbinarytextimagenvarchar  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

 
原文地址:https://www.cnblogs.com/zhangxb/p/3448515.html