当前位置: 首页 > 面试题库 >

计算具有Time数据类型的列的SUM:

巫马俊力
2023-03-14
问题内容

我想计算具有时间数据类型的字段的总和。

我的桌子在下面:

         TableA:

            TotalTime
          -------------
             12:18:00
             12:18:00

在这里,我想对两个时间字段求和。我尝试了以下查询

   SELECT CAST(
              DATEADD(MS, SUM(DATEDIFF(MS, '00:00:00.000', 
                CONVERT(TIME, TotalTime))), '00:00:00.000'
               ) AS TOTALTIME) 
    FROM [TableA]

但是它给出的输出为

            TOTALTIME
        -----------------
         00:36:00.0000000

但是我的期望输出将如下所示:

            TOTALTIME
        -----------------
            24:36:00

如何获得此输出?


问题答案:

您可以求和总计秒数,或datediff(second,0,datecolumn)。您可以使用一些数学将其格式化为时间字符串。例如,总分钟数为totalseconds/ 60 % 60。例如:

select  cast(sum(datediff(second,0,dt))/3600 as varchar(12)) + ':' + 
        right('0' + cast(sum(datediff(second,0,dt))/60%60 as varchar(2)),2) +
        ':' + right('0' + cast(sum(datediff(second,0,dt))%60 as varchar(2)),2)
from    TestTable

SQL Fiddle上的工作代码。



 类似资料:
  • 我使用的是Primefaces 3.5中的<code>p:dataTable</code>以及延迟加载和动态列。 我有三种类型的列,区别在于过滤的输入。一个有,一个有,最后一个什么都没有。 列通过标记呈现。 一切正常,但不是“懒惰”。我还有,其中每个选项卡都包含这个数据表,并且每个请求都会初始化所有bean。我知道,是在构建时评估的,所以它在tabView之前。 因此,我的问题是:如何在<code

  • 我看到了一些关于hashMaps的东西,但我们的工作还没有做得那么远。请保持您的答案和有用的建议,尽可能简单,你可以管理。 我有一个自定义的数据类型,它已经被制作好了,并且可以完美地工作,叫做color。该类型的唯一值是Color.Blue、Color.Red、Color.Yellow和Color.Green。 我的任务是返回颜色。如果列表中的颜色比其他颜色多,则返回颜色。如果列表中的颜色比其他颜

  • 问题内容: 我试图弄清楚如何确定数据库中特定列的大小,例如,我有两列称为sourceip,destinationip的列,它们都是16字节字段。 我以为这将是在information_schema或\ d +中的某个位置,但是我找不到用于隔离每种列类型的大小的特定命令。 您可以在数据库中计算列类型的大小,还是只需要在Postgresql文档中引用每种类型的字节大小? 问题答案: pg中只有少数类型

  • 问题内容: 我可以用来存储多种不同类型的数据(整数/字符串/等)?我来自PHP背景,可以将不同类型的数据存储到数组中,但是我不知道如何在Java中进行操作。 举个例子: 如何用Java做类似的事情? 问题答案: Java是一种强类型语言。在PHP或Javascript中,变量没有严格的类型。但是,在Java中,每个对象和基元都有严格的类型。您可以将多种类型的数据存储在Array中,但只能将其作为对

  • 我正在编写一个java代码,它在数组中计算N个学生的平均成绩,当我输入像{3,4,3}这样的成绩时,它运行良好,但当我使用像{3.7,2.5,3.2}这样的带有小数的数字时,它开始给我带来错误,我想创建一个数据类型的类,例如学生。 任何帮助都将不胜感激。

  • 问题内容: 我今天遇到了与此类似的代码。 似乎暗示数据类型信息可以与NULL值关联。这是否将元数据附加到将其标识为指定数据类型的NULL值? 这篇文章详细介绍了一种在SqlServer中查找数据类型的方法,但是当我尝试以下行时,它以NULL的形式返回: 问题答案: 在SQL Server中,是在默认情况下所有我能想到的场景。您可以使用以下代码确定这一点: 结果: 在将其放入表中或将其与某些上下文元