Как получить разность дат в формате чч: мм В Select Query Sql 2005 - PullRequest
0 голосов
/ 25 июля 2010

Я пытаюсь получить результат по времени и времени от даты но он возвращает только часы, используя следующие select Query следующим образом

SELECT DATEDIFF(Hh,InTime,OutTime)  as Diff_time from EmpLogTable

и мне нужен результат в формате ЧЧ: ММ Предположим, что мое время 11 часов утра и 5,49 вечера, поэтому о / р будет 6,49, но используя запрос выбора выше, я получаю o / p только 7 если у какого-либо органа есть решение, пожалуйста, сообщите мне

Заранее благодарю Умеш Рахе

Ответы [ 3 ]

1 голос
/ 25 июля 2010

Функция DATEDIFF возвращает INT, поэтому она не будет работать так, как вам нравится, лучше всего вычесть InTime из OutTime или использовать DATEDIFF с минутами (n).

1 голос
/ 25 июля 2010
  1. вы, вероятно, должны выполнять форматирование пользовательского интерфейса на клиенте, а не в базе данных

  2. вы можете использовать diff = datediff (mi, intime, outtime), чтобы получить разницу в минутах

затем разделите diff на 60, чтобы получить часы

и возьмите модуль diff% 60, чтобы получить оставшиеся минуты

затем превратитесь в струны, и вы готовы идти

0 голосов
/ 25 июля 2010
SELECT Outime - InTime as Diff_time from EmpLogTable

DATEDIFF измеряет границы дня, часа и т. Д.: Вы запрашиваете истинную разницу даты / времени.В этом случае я бы просто вычел значения, а не использовал сложный вложенный DATEDIFF.Или сделайте это в клиенте.

Если у вас интервал> 24 часа, тогда вам понадобится вложенный DATEDIFF, чтобы получить 25 часов: мой ответ даст один день и час.1005 * Формат hh: nn: ss можно сделать с помощью CONVERT со стилем 108 , но я бы снова сделал это в клиенте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...