以分钟为单位显示时间差



我需要计算给定日期的时差。我试过类似的东西,但不工作。

CONVERT(TIME, DATEADD(MINUTE, DATEDIFF(MI, MIN(CreatedOn),  
MAX(CreatedOn)), 0), 108) AS WorkingTime

谢谢大家

你可以试试这种方式,因为你不会显示你得到的错误我不知道你可以有什么细节,但要获得时差你可以像这样得到我把你留在这里

DECLARE @MaxDate DATETIME=DATEADD(HOUR,20,GETDATE()) --here you could get the maximum of your table separately
DECLARE @MinDate DATETIME=GETDATE() --here you could get the minimum of your table separately

SELECT DATEDIFF(MINUTE,@MinDate,@MaxDate) AS WorkingTime

https://dbfiddle.uk/?rdbms=sqlserver_2019&小提琴= 09128 de0d996e85a21992197b524a208

你的问题不完全清楚,但我认为这就是你想要做的。

SELECT CAST(WorkingTime AS DATE),
MIN(WorkingTime) AS min,
MAX(WorkingTime) AS max, 
DATEADD(HOUR, DATEDIFF(HOUR, 0, MIN(WorkingTime)), 0) AS truncatedmin,
DATEDIFF(MINUTE,DATEADD(HOUR, DATEDIFF(HOUR, 0, MIN(WorkingTime)), 0),MAX(WorkingTime)) AS [difference]
FROM YourTable
GROUP BY CAST(WorkingTime AS DATE)

名为"difference"应该显示truncatedmin和Max列之间的分钟数差。

从这一列我需要计算每天的工作时间,为此,我需要在给定的一天中选择第一次,然后四舍五入到整小时(06:08:20到06:00:00),然后计算一天中最后一次的差异,这将给我以分钟为单位的工作时间。

我的专栏

相关内容

  • 没有找到相关文章

最新更新