2016-09-30 6 views
0

Использование Access 2010Доступ в формате SQL DATEDIFF чч: пп: сс

Я пытаюсь взять разность двух записей даты и времени и отображать это значение в формате «час (ы): минута (ы): второй (ы)». У меня есть следующий оператор SQL, но он всегда производит: «00:00:00». Что я делаю не так?

SELECT TOP 500 
    [ID], 
    [USERNAME], 
    [TIME_ENTER], 
    [TIME_EXIT], 
    FORMAT ( 
     DATEDIFF("s", [TIME_ENTER], [TIME_EXIT]), "hh:nn:ss" 
    ) AS HH_MM_SS 
FROM tbl_logs_sessions; 

В [TIME_ENTER] и [TIME_EXIT] колонки установлены на «Date/Time» и Формат «Общие Дата»

+0

«s» для второго, который будет возвращать разницу во второй по количеству .. вместо этого просто сделать нормальный вычитание и формат результата даты .. vba.Format (# 11 : 00: 10 # - # 23: 00: 00 #, "hh: mm: ss") = 11:59:50 –

ответ

2

DATEDIFF возвращает число, чем не может быть преобразован в «чч: сс: сс», как его а не дата.

Вместо:

FORMAT(DATEADD("s", DATEDIFF("s", [TIME_ENTER], [TIME_EXIT]), #00:00:00#), "hh:nn:ss") 

Обратите внимание, что если разница превышает 24 часов, вы будете обернуть вокруг обратно до полуночи.

+0

Это прекрасно. Пользователь не будет более чем на 24 часа, так что спасибо! – Sanya

1

Вы можете просто использовать:

FORMAT([TIME_EXIT] - [TIME_ENTER], "hh:nn:ss") AS HH_MM_SS 

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

  • Нет связанных вопросов^_^