Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एसक्यूएल क्वेरी का उपयोग करके समय कॉलम का योग करें

SQL Fiddle

MS SQL Server 2008 स्कीमा सेटअप :

CREATE TABLE Table2
    ([repID] int, [ClockIn] datetime, [ClockOut] datetime, [TotalHours] varchar(7))
;

INSERT INTO Table2
    ([repID], [ClockIn], [ClockOut], [TotalHours])
VALUES
    (109145, '7:50:50 AM', '3:37:16 PM', '7:46:26'),
    (109145, '7:52:41 AM', '3:44:51 PM', '7:52:10'),
    (109145, '8:42:40 AM', '3:46:29 PM', '7:3:49'),
    (109145, '7:50:52 AM', '3:42:59 PM', '7:52:7'),
    (109145, '8:09:23 AM', '3:36:55 PM', '7:27:32')
;

क्वेरी 1 :

SELECT convert(varchar(8), dateadd(second, SUM(DATEDIFF(SECOND, ClockIn, ClockOut)), 0),  108)
from Table2
group by repID

परिणाम :

| COLUMN_0 |
------------
| 14:02:04 |

प्रश्न 2 :

select sum(datediff(second,ClockIn,ClockOut))/3600 as hours_worked
from Table2

परिणाम :

| hours_worked|
------------
|       38 |

क्वेरी 3 :

select sum(datediff(minute, 0, TotalHours)) / 60.0 as hours_worked
from Table2

परिणाम :

| HOURS_WORKED |
----------------
|           38 |

यहाँ अंतिम प्रश्न FreeLancers उत्तर से लिया गया है क्योंकि मैं यह जानने के लिए उत्सुक था कि यह काम करता है या नहीं।

यहां, पहले आपको अपने डेटाटाइम अंतर को सेकंड या मिनट में बदलना होगा और फिर उस समय को वापस घंटे में बदलना होगा।

आशा है कि यह मदद करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ADO.NET कॉलिंग T-SQL संग्रहीत कार्यविधि एक SqlTimeoutException का कारण बनती है

  2. SQL सर्वर में डुप्लिकेट पंक्तियों की जाँच करने के 4 तरीके

  3. SQL सर्वर में एक पहचान कॉलम में मान कैसे सम्मिलित करें

  4. एसक्यूएल सर्वर 2008 सीटीई रिकर्सन

  5. 3 क्षेत्र जो SQL सर्वर प्रदर्शन निगरानी उपकरण का उपयोग करने से लाभान्वित होंगे