我有一个表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)结果是“0.173525810”。有没有办法将小数点移到上面以显示正确的值?
谢谢
发布于 2014-07-21 19:32:00
SUM(DATALENGTH(x))告诉您数字表示的字节大小。
这不是你所需要的。
例如,如果数据类型是整数(4个字节),并且列中有三行没有空值,那么不管实际的数字内容如何,它都将计算为12。
只需删除函数调用即可。
sum(f.file_size) / (1024.0 * 1024)会工作得很好
https://stackoverflow.com/questions/24872853
复制相似问题