Example:
Sql server 2008 query
select cast(dateadd(minute, datediff(minute,ShiftStart , ShiftEnd), 0) as time(0) ) FROM Accounts_DailyAttendance where UserID=2060 AND datename(month,processdate) ='September' and datepart(yyyy,processdate)=2014. But I want Sql server 2005,How to get Shiftstart((varchar(50)) and Shiftend((varchar(50)) time between time.
EXAMPLE:
Shiftstart Shiftend
09:00 18:00
I want Result is 09:00:00 Hours in sql server 2005.

Manish Kumar ChoudharyPosted Dec 30, 2014, 6:13 AM
DECLARE
@transtime_in DATETIME
, @transtime_out DATETIME
SELECT
@transtime_in = '2013-05-19 08:58:07.000'
, @transtime_out = '2013-05-19 23:40:53.000'
SELECT LEFT(CONVERT(VARCHAR(10), @transtime_out - @transtime_in, 108), 5)
Manish Kumar ChoudharyPosted Dec 30, 2014, 5:54 AM
Use Following query
select
*,
Days = datediff(dd,0,DateDif),
Hours = datepart(hour,DateDif),
Minutes = datepart(minute,DateDif),
Seconds = datepart(second,DateDif),
MS = datepart(ms,DateDif)
from
(
select
DateDif = EndDate-StartDate,
aa.*
from
( -- Test Data
Select
StartDate = convert(datetime,'20090213 02:44:37.923'),
EndDate = convert(datetime,'20090715 13:24:45.837')
) aa
) a