如何使用Sql查询将时间转换为分钟,例如" 02:30:05'到150.5分钟

时间:2016-11-07 11:04:08

标签: c# sql sql-server

我正在开发一个基于时间和超时的计费系统。贷款项目的使用费为每30分钟R5。

我设法得到了时间差,并得到了时间" 02:30:05"现在我怎么能把这个时间转换为分钟并且有" 02:30:00" =" 150分钟"这样我就可以将时间分成30分钟,以便能够乘以生成我的账单的费率。因为我无法将日期时间与数字分开。我想要的东西(150分钟/ 30分钟= 5分钟),(5分* 5分= R25法案)我希望它的初学者我是初学者所以请说如果我没有任何意义。提前谢谢你的帮助。

3 个答案:

答案 0 :(得分:1)

try this one. it will calculate total minutes
SELECT LTRIM(DATEDIFF(MINUTE, 0, TimeSpent))
  FROM yourtable

TimeSpent 将是您的日期时间变量

答案 1 :(得分:0)

由于你没有提到你的dbms是什么,我将为你提供SqlServer的语法,它在几分钟内给出了2倍的差异:

SELECT DateDiff(mi, @timeIN, @TimeOut)

第一个参数允许您选择需要差异的日期部分。

多年来写YY

几个月写MM

几天写DD

小时写下hh

分钟写mi

对于秒,请写ss

答案 2 :(得分:0)

我相信你在 TimeSpan 中有时差。然后你可以用来获得总分钟数:

timeSpan.TotalMinutes;

如果你的结果是字符串那么你必须tryparse来获得时间跨度:

string time = "02:30:00";
TimeSpan timeSpan;
if (TimeSpan.TryParse(time, out timeSpan))
{
     var aa = timeSpan.TotalMinutes;
}