我想知道如何在SQL Server中获取两个日期之间的确切时间。
我有两个问题,但我没有得到我想要的时间;你能帮我解决这个问题吗?第一个是:
SELECT p.Id, p.FechaInicio, p.FechaFin,
DATEDIFF(MINUTE, p.FechaInicio, p.FechaFin) / 60 AS 'Duracion'
FROM Programaciones p
INNER JOIN Usuarios u ON u.Id = p.Programacion_Usuario
WHERE u.Nombre = 'User 1'
ORDER BY p.FechaCreacion DESC
结果如下:
第二个是这个:
SELECT p.Id, p.FechaInicio, p.FechaFin,
DATEDIFF(MINUTE, p.FechaInicio, p.FechaFin) / 60.0 as 'Duracion'
FROM Programaciones p
INNER JOIN Usuarios u ON u.Id = p.Programacion_Usuario
WHERE u.Nombre = 'User 1'
ORDER BY p.FechaCreacion DESC
结果:
如何将0.500000转换为0.5?
谢谢你能帮助我。祝你有个美好的一天。
答案 0 :(得分:0)
您可以将您的号码转换为DECIMAL()
以定义要保留的小数位数:
CAST(DATEDIFF(MINUTE, p.FechaInicio, p.FechaFin) / 60.0 AS DECIMAL(5,1)) as 'Duracion' from Programaciones
DECIMAL()
中的第一个参数是总数中的位数,第二个是小数点后面的位数,在上面的例子中,总共5位数,小数点后面的1位。
您也可以将其包装在ROUND()
。