Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在DATEDIFF SQL Server中仅显示准确的小时数_Sql Server_Db2 - Fatal编程技术网

Sql server 在DATEDIFF SQL Server中仅显示准确的小时数

Sql server 在DATEDIFF SQL Server中仅显示准确的小时数,sql-server,db2,Sql Server,Db2,我正在努力改变信仰 Select Dept_ID, Student_CODE, ((SUM(TIMESTAMPDIFF(4,CHAR(TIME_OUT -TIME_IN)))* 1.0e0) / 60) HOURS from d.TIME_CLOCK where SYSTEM_DATE BETWEEN '2015-12-09' AND '2015-12-09' and Dept_ID = 109 Group By Dept_ID, Student_

我正在努力改变信仰

Select 
    Dept_ID, Student_CODE,
    ((SUM(TIMESTAMPDIFF(4,CHAR(TIME_OUT -TIME_IN)))* 1.0e0) / 60) HOURS
from 
    d.TIME_CLOCK
where 
    SYSTEM_DATE BETWEEN '2015-12-09' AND '2015-12-09' and Dept_ID = 109
Group By 
    Dept_ID, Student_CODE
上面的db2代码到SQL Server代码如下

Select 
    Dept_ID, Student_CODE,
    ((SUM(-DATEDIFF(MINUTE, TIME_OUT, TIME_IN)) * 1.0e0) / 60) HOURS 
from 
    TIME_CLOCK 
where 
    SYSTEM_DATE BETWEEN '2015-12-09' AND '2015-12-09' 
    AND (Dept_ID =  109)               
Group By 
    Dept_ID, Student_CODE 
但是,在执行此操作时,尽管
TIME OUT
datetime
)和
TIME
datetime
)中的
TIME>值相同,但这两个查询的
HOURS
列的值却不同


如何在SQL Server中获得精确的小数<代码>小时数<代码>小时数?

您得到的值是多少,您期望的值是多少?1)您的值在两种情况下都不是“小数”,而是(二进制)浮点,这是有区别的。你到底想要哪一个?浮点数适用于“足够接近”的数学,就像物理一样,但小数用于金钱之类的东西,我想这是你们想要的。2) . 3) DB2上的
TIMESTAMPDIFF
返回一个估计值(因为日期减法的结果),所以我假设SQL Server返回的结果是正确的。您得到的值是什么,您期望的值是什么?1)在这两种情况下,您的值都不是“小数”,而是(二进制)浮点,这是不同的。你到底想要哪一个?浮点数适用于“足够接近”的数学,就像物理一样,但小数用于金钱之类的东西,我想这是你们想要的。2) . 3) DB2上的
TIMESTAMPDIFF
返回一个估计值(因为日期减法的结果),所以我假设SQL Server返回的结果是正确的。