Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да получа общ брой часове между две дати в sql сървър?

@codeka отговори с частта за часовете (от вашето заглавие), но в тялото на въпроса си зададохте часове и минути, така че ето един начин

 select DATEDIFF(hh, @date1, @date2) as Hours_Difference,   
    DATEDIFF(mi,DATEADD(hh,DATEDIFF(hh, @date1, @date2),@date1),@date2) as Minutes_Difference

Какво прави това в първата част е това, което @codeka показа. Дава ви разликата между двете дати в действителни пълни часове. Вторият термин в sql дава разликата в датата в минути между (първата дата + изминалите часове) и втората дата. Трябва да премахнете часовете от уравнението в частта за минутите или ще получите действителните минути между датите. Datediff и неговите разрешени идентификатори на Datepart могат да бъдат проучени тук:
http://msdn.microsoft.com/en-us/library/ms189794.aspx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Импортирайте CSV файл в SQL Server

  2. Проблем със закръгляването във функциите LOG и EXP

  3. Сравнение на производителността на Sql Server int срещу nvarchar?

  4. Планирано изпълнение на съхранената процедура на SQL сървър

  5. Неуспешна JDBC връзка, грешка:TCP/IP връзката с хост неуспешна