| Author | Topic | 
                            
                                    | dougancilPosting Yak  Master
 
 
                                        217 Posts | 
                                            
                                            |  Posted - 2010-09-28 : 12:10:58 
 |  
                                            | I have the following query: SELECT [Employees].name, [Employees].Employeenumber,Convert ([Timestamp]-([LoggedIn]/1000)/60))/1440+1,"mm/dd/yy"as [DATE],FROM Employees INNER JOIN mOpInterval ON [Employees].Loginname1 = mOpInterval.Opnameand I'm trying to convert seconds to valid dates. Is convert or dateadd the best to work with here and can someone give me an example of how the syntax of this query runs?Thank you,Doug |  | 
       
                            
                       
                          
                            
                                    | Michael Valentine JonesYak DBA Kernel (pronounced Colonel)
 
 
                                    7020 Posts | 
                                        
                                          |  Posted - 2010-09-28 : 12:21:37 
 |  
                                          | What do the "seconds" represent?  An offset from a particular date?Examples of conversion for two different start points. select	-- With offset starting from 1900-01-01 00:00:00	MyDate1 = dateadd(dd,MySeconds/86400,0)+dateadd(ss,MySeconds%86400,0),	-- With offset starting from 1970-01-01 00:00:00	MyDate2 = dateadd(dd,MySeconds/86400,'19700101')+dateadd(ss,MySeconds%86400,'19700101')from	( --Test Data	select Myseconds =  3568960000	) aResults: MyDate1                 MyDate2----------------------- ------------------------2013-02-04 09:46:40.000 2153-02-04 09:46:40.000(1 row(s) affected)CODO ERGO SUM |  
                                          |  |  | 
                            
                       
                          
                            
                                    | dougancilPosting Yak  Master
 
 
                                    217 Posts | 
                                        
                                          |  Posted - 2010-09-28 : 12:38:56 
 |  
                                          | This is for a payroll program and the seconds represent how long an agent was logged in during their shift. |  
                                          |  |  | 
                            
                       
                          
                            
                                    | Michael Valentine JonesYak DBA Kernel (pronounced Colonel)
 
 
                                    7020 Posts | 
                                        
                                          |  Posted - 2010-09-28 : 13:48:33 
 |  
                                          | quote:If the seconds is a duration, how can that be converted to a date, since that is not what it represents?CODO ERGO SUMOriginally posted by dougancil
 This is for a payroll program and the seconds represent how long an agent was logged in during their shift.
 
 |  
                                          |  |  | 
                            
                       
                          
                            
                                    | dougancilPosting Yak  Master
 
 
                                    217 Posts | 
                                        
                                          |  Posted - 2010-09-28 : 14:04:38 
 |  
                                          | Michael, Sorry let me be more precise. They do represent a date, and time that a user was logged in but it's calculated in seconds, which is why you see this calculation (1000)/60))/1440+1,) thrown in behind that. |  
                                          |  |  | 
                            
                       
                          
                            
                                    | Michael Valentine JonesYak DBA Kernel (pronounced Colonel)
 
 
                                    7020 Posts | 
                                        
                                          |  Posted - 2010-09-28 : 14:27:40 
 |  
                                          | I don't understand what you are after.It would help if you posted scripts for creating the tables involved, scripts to insert sample data into those tables, and a sample of the output you expect it to produce.CODO ERGO SUM |  
                                          |  |  | 
                            
                       
                          
                            
                                    | dougancilPosting Yak  Master
 
 
                                    217 Posts | 
                                        
                                          |  Posted - 2010-09-28 : 15:01:02 
 |  
                                          | Micheal,I didnt create the tables involved so I can't offer you that. This is what was written for me in Access and I'm trying to get the same information from a SQL query: SELECT [1_1Employee].Last_First_Name, [1_1Employee].Employee_Number, Format$((([Timestamp]-(([LoggedIn]/1000)/60))/1440)+1,"mm/dd/yy") AS [Date], Format$((([Timestamp]-(([LoggedIn]/1000)/60))/1440)+1,"dddd") AS [Day], Sum(([LoggedIn]/1000/60)) AS LogIn, Sum(([OnTime]/1000/60)) AS OnTime1, Format$((([Timestamp]-(([LoggedIn]/1000)/60))/1440)+1,"yy/mm/dd") AS Da INTO 1_1ScratchPadFROM 1_1Employee INNER JOIN dbo_mOpLogout ON [1_1Employee].Employee_Login = dbo_mOpLogout.OpnameGROUP BY [1_1Employee].Last_First_Name, [1_1Employee].Employee_Number, Format$((([Timestamp]-(([LoggedIn]/1000)/60))/1440)+1,"mm/dd/yy"), Format$((([Timestamp]-(([LoggedIn]/1000)/60))/1440)+1,"dddd"), Format$((([Timestamp]-(([LoggedIn]/1000)/60))/1440)+1,"yy/mm/dd")HAVING (((Format$((([Timestamp]-(([LoggedIn]/1000)/60))/1440)+1,"yy/mm/dd")) Between [Start (YY/MM/DD)] And [End (YY/MM/DD)]));What that query should produce for me is the sum of hours for all employees with a "start yy/mm/dd" and an "end yy/mm/dd"Last_First_Name	 Employee_Number   Date	         Day	 LogIn	OnTime1	 Daagent, some	  9999	         06/06/10	 Sunday	 481	454	 10/06/06Thats an example of the data produced by the query in Access. |  
                                          |  |  | 
                            
                       
                          
                            
                                    | dougancilPosting Yak  Master
 
 
                                    217 Posts | 
                                        
                                          |  Posted - 2010-09-28 : 15:07:14 
 |  
                                          | Micheal ... one other thing ... that access query produces a result like that for each day that the user is logged in for. Then there is a summation that is done at the end of the week. |  
                                          |  |  | 
                            
                       
                          
                            
                                    | dougancilPosting Yak  Master
 
 
                                    217 Posts | 
                                        
                                          |  Posted - 2010-10-04 : 10:53:08 
 |  
                                          | I've resolved this issue. |  
                                          |  |  | 
                            
                            
                                |  |