如何在Select查询Sql 2005中以hh:mm格式获取日期差异

如何在Select查询Sql 2005中以hh:mm格式获取日期差异,sql,sql-server-2005,tsql,datetime,Sql,Sql Server 2005,Tsql,Datetime,我正试图从日期中得到时间和时间的结果 但它使用下面的select查询只返回小时,如下所示 SELECT DATEDIFF(Hh,InTime,OutTime) as Diff_time from EmpLogTable 我需要的结果是HH:MM 假设我的输入时间是上午11点,输出时间是下午5点49分,所以o/p应该是6点49分,但是 使用上面的选择查询,我得到的o/p仅为7 如果任何机构有解决方案,请让我知道 先谢谢你 梅什拉赫 SELECT Outime - InTime as Diff_

我正试图从日期中得到时间和时间的结果 但它使用下面的select查询只返回小时,如下所示

SELECT DATEDIFF(Hh,InTime,OutTime)  as Diff_time from EmpLogTable
我需要的结果是HH:MM 假设我的输入时间是上午11点,输出时间是下午5点49分,所以o/p应该是6点49分,但是 使用上面的选择查询,我得到的o/p仅为7 如果任何机构有解决方案,请让我知道

先谢谢你 梅什拉赫

SELECT Outime - InTime as Diff_time from EmpLogTable
DATEDIFF测量日期、小时等界限:您要求的是真实的日期/时间差。在本例中,我只需减去这些值,而不是使用复杂的嵌套DATEDIFF。或者在客户端执行

如果间隔>24小时,则需要嵌套DATEDIFF来获得25小时:我的答案是一天一小时


hh:nn:ss格式可以通过完成,但我还是会在客户端执行此操作,
DATEDIFF
函数返回一个
INT
,因此它不会像您所希望的那样工作,您最好的办法是从超时中减去InTime,或者使用
DATEDIFF
加分钟(
n

  • 您可能应该在客户端而不是数据库上进行UI格式化

  • 您可以使用diff=datediff(mi、intime、outtime)以分钟为单位计算差异

  • 然后将差值除以60得到小时数

    取模差%60得到剩余的分钟数


    然后变成字符串,你就可以开始了

    这是不对的。datediff(密歇根州,2010-07-25 12:00:00,2009-07-25 12:00:00')=-525600@el主任:减法和DATEDIFF不一样。你想说什么?