2012-12-04 5 views
-1

У меня есть два запроса SQL. Первый представляет собой время входа человека и второе время выхода.Как получить разницу между таблицами дат в SQL Server?

Нечто подобное для записи:

2012-11-30 07:33:53 
2012-11-01 07:31:44 
2012-11-02 07:35:21 
2012-11-19 07:25:48 
2012-11-20 07:26:01 
... 

И это для выхода:

2012-11-01 15:35:27 
2012-11-02 15:48:34 
2012-11-19 15:38:03 
2012-11-20 15:40:25 
2012-11-21 15:37:04 
2012-11-22 15:35:28 
... 

Я хочу, чтобы количество работал час (время входа - время выхода). Я не знаю, как это сделать.

Это мой запрос:

SELECT Sum(CONVERT(FLOAT, event201211.dbo.evacc.edate)) AS Expr1 
FROM dbo.uclassdef 
     INNER JOIN dbo.uclass 
       ON dbo.uclass.mclass = dbo.uclassdef.mclass 
        AND dbo.uclass.sclass = dbo.uclassdef.sclass 
     INNER JOIN dbo.cards 
       ON dbo.cards.fpointeur = dbo.uclass.fpointeur 
     INNER JOIN event201211.dbo.evacc 
       ON dbo.cards.fpointeur = event201211.dbo.evacc.fpointeur 
WHERE (event201211.dbo.evacc.ecd = 1) 
     AND (dbo.cards.fpointeur = '5456') 

У вас есть решение?

Edit 1

поля является имя Expr1. В поле есть запрос. Это столбцы даты. Я хочу иметь часы: минуты, но минуты тоже в порядке.

+0

Как имена обоих полей? они типа DATE ??? и какой блок вы хотите получить (минуты, часы, часы: минуты)? –

ответ

0

У вас есть некоторые неизвестные (например, типы данных, точный формат вывода и т. Д.). Вы можете использовать это:

datediff(hh, Entry, Exit) 
+0

Только для хихиканья: http://sqlfiddle.com/#!3/02655/6 – Farhan

Смежные вопросы