我的表格dbo.files
有9列,包括file_size
和created_time
以及filepath
。
示例值:
我有以下查询,其中我试图显示已将MB的总数写入文件系统'今天'通过这些文件。
select
sum(datalength(f.file_size)) / 1048576.0 AS 'Storage Used Today"
from
dbo.files AS f
where
f.created_time >= CAST(getdate() as DATE)
and f.created_time < CAST(DATEADD(day, 1, getdate()) as DATE)
结果是&#39; 0.173525810&#39;。有没有办法将小数点移动以显示正确的值?
由于
答案 0 :(得分:2)
SUM(DATALENGTH(x))
告诉您数字表示的字节大小。
这不是你需要的。
例如,如果数据类型是整数(4个字节),并且您在列中有三行没有空值,则无论实际数字内容如何,它都将计算为12。
只需删除函数调用。
sum(f.file_size) / (1024.0 * 1024)
工作正常