моего заявления SQL, как это:я использую DATEDIFF вычесть мое время, но я получил 0 ответ каждый раз, когда я выполняю
SELECT DATEDIFF(hh, TimeIn,OutTime) AS Hours_Rendered
FROM DTR_TimeRecord
моего заявления SQL, как это:я использую DATEDIFF вычесть мое время, но я получил 0 ответ каждый раз, когда я выполняю
SELECT DATEDIFF(hh, TimeIn,OutTime) AS Hours_Rendered
FROM DTR_TimeRecord
Пожалуйста, обратите внимание, что DATEDIFF неявно ставит под строковые литералы в качестве типа Datetime2. Это означает, что DATEDIFF не поддерживает формат YDM, когда дата передается в виде строки. Вы должны явно передать строку в тип datetime или smalldatetime, чтобы использовать формат YDM.
Ссылка: https://msdn.microsoft.com/en-us/library/ms189794.aspx
Ваш TimeIn и OutTime должен быть тот же час. как
TimeIn : '2016-05-17 11:31:33.190'
OutTime: '2016-05-17 11:35:41.790'
select DATEDIFF(HH, '2016-05-17 11:31:33.190', '2016-05-17 11:35:41.790')
выше запроса всегда будет давать вам 0.
Но давайте предположим, что ваш OutTime является '2016-05-17 12: 35: 41,790'
Тогда
select DATEDIFF(HH, '2016-05-17 11:31:33.190', '2016-05-17 12:35:41.790')
Выше запрос даст вам 1.
спасибо, что я уже понял это, я хочу отобразить ответ в этом формате HH: MI: SS how я могу сделать это ? – Ralph
Это, безусловно, поможет вам
SELECT convert(TIME,dateadd(ms,DateDiff(ss, TimeIn, OutTime)*1000,0),114) AS Hours_Rendered FROM DTR_TimeRecord
что дата timeln и outtime? –
Пожалуйста, отредактируйте свой вопрос, чтобы включить данные образца (желательно как DDL + DML) и желаемые результаты. –
Прочтите https://msdn.microsoft.com/en-us/library/ms189794.aspx для получения информации о том, как работает DATEDIFF – Alex