我有一个Web应用程序,用户将上传文件,Web服务器将其保存到S3,然后处理它而不将其复制到本地服务器.
现在我的问题是如何在处理之前对存储在S3中的文件执行病毒扫描.
要求是使用完善的防病毒应用程序.
更新:10/April/2018
到目前为止,没有专业的防病毒系统可以直接扫描s3存储桶.我们最终在我们的windows/linux机器上安装防病毒并创建了一个流程,我们先将文件复制到临时文件夹,然后在扫描完成后再复制回S3.
我有一个table像下面 -
ID | Reported Date | Device_ID
-------------------------------------------
1 | 2016-03-09 09:08:32.827 | 1
2 | 2016-03-08 09:08:32.827 | 1
3 | 2016-03-08 09:08:32.827 | 1
4 | 2016-03-10 09:08:32.827 | 2
5 | 2016-03-05 09:08:32.827 | 2
Run Code Online (Sandbox Code Playgroud)
现在,我想要一个top 1 row基于date column每个device_ID
预期产出
ID | Reported Date | Device_ID
-------------------------------------------
1 | 2016-03-09 09:08:32.827 | 1
4 | 2016-03-10 09:08:32.827 | 2
Run Code Online (Sandbox Code Playgroud)
我在用SQL Server 2008 R2.我可以去编写Stored Procedure处理它,但想用简单的查询来做.
****************编辑************************** …
首先,这不是一个重复的问题,我需要总是有2个精度小数
例如
2应转换为2.00
0应转换为0.00
0.5应转换为0.50
输出数必须是小数
我尝试过的事情
decimal val = 0.5000M
decimal d = Math.Round(val, 2);//gives 0.5 i need 0.50
Run Code Online (Sandbox Code Playgroud)
注意:我不打算将十进制转换为字符串,因为我需要将其作为仅接受十进制值的soap请求发送,因此我没有灵活性将其转换为字符串.
由Jakub Lortz回答的以下代码更新工作正常虽然看起来很复杂
decimal twoPoint00 = new Decimal(200, 0, 0, false, 2);
decimal twoPoint0 = new Decimal(20, 0, 0, false, 1);
Console.WriteLine(twoPoint00) // prints 2.00
Console.WriteLine(twoPoint0) // prints 2.0
他给出了非常简单的解决方案,这也将起作用
decimal val = 0.5000M;
string result = string.Format("{0:f2}", val);
decimal d;
Decimal.TryParse(result, out d);