如何获得Datediff(T-SQL)的时间部分

时间:2017-06-23 07:31:05

标签: sql tsql

让我们希望你能提供帮助。

SELECT 
Mpl.EmpNo,
CONCAT(Mpl.FName,' ',Mpl.SName) AS 'Name',
Ctt.TaskName AS 'Task',
Cts.TaskStart AS 'Start Time',
Cts.TaskEnd As 'End Time',
DATEDIFF(MINUTE, Cts.TaskStart,Cts.TaskEnd) AS 'Task Time'
FROM CHDS_Management.dbo.People Mpl
LEFT JOIN CHDS_Common.dbo.TaskScan Cts ON Cts.EmpID = Mpl.EmpNo
LEFT JOIN CHDS_Common.dbo.TaskType Ctt ON Ctt.TaskShort = Cts.Task

我试图找出任务需要多长时间。 TaskStart和TaskEnd是datetime2(0)数据类型。我需要找到2次之间的时差。

所以Joes的任务时间是: 2017/06/15 11:12:50 - 15/06/2017 12:14:56

我希望看到任务时间的反馈如下: 1点02分06秒

(在MySQL中这么简单)

1 个答案:

答案 0 :(得分:0)

如果您需要minute粒度,这是您想要的表达式。将minute替换为second,否则

select cast(dateadd(minute, datediff(minute, '2017-06-15 11:12:50', '2017-06-15  12:14:56'), 0) as time)