select  sec_to_time(time_to_sec(transfer_end)-time_to_sec(transfer_start));

Dirk Bremer (NISC) wrote:

Looking at the results further reveals that a numeric subtraction is being
performed on the two datetime fields rather than a date-type subtraction.
Any thoughts on how to perform a date subtraction in version 4.0.18?

Dirk Bremer - Systems Programmer II - ESS/AMS  - NISC St. Peters
USA Central Time Zone
636-922-9158 ext. 8652 fax 636-447-4471

[EMAIL PROTECTED]
www.nisc.cc
----- Original Message ----- From: "Dirk Bremer (NISC)" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 11, 2004 14:29
Subject: Re: Date/Time Difference Calculations





Here is an example using sec_to_time. Note that the results are


inconsistent


and sometimes inaccurate. It seems that when the difference is less than


one


minute, the result is correct, when it is over one minute, the result is
incorrect.

select ident,
       transfer_start,
       transfer_end,
      sec_to_time(transfer_end - transfer_start) as 'Transfer Time1',
      (transfer_end - transfer_start) as 'Transfer Time2'
from queue
where ident > 1300
order by queue_time
--------------




+-------+---------------------+---------------------+----------------+------


----------+
| ident | transfer_start      | transfer_end        | Transfer Time1 |
Transfer Time2 |



+-------+---------------------+---------------------+----------------+------


----------+
|  1301 | 2004-06-10 09:32:26 | 2004-06-10 09:32:28 | 00:00:02       |
2 |
|  1302 | 2004-06-10 09:33:26 | 2004-06-10 09:33:29 | 00:00:03       |
3 |
|  1303 | 2004-06-10 13:00:38 | 2004-06-10 15:29:54 | 06:21:56       |
22916 |
|  1304 | 2004-06-10 13:17:35 | 2004-06-10 13:19:31 | 00:03:16       |
196 |
|  1305 | 2004-06-10 13:19:35 | 2004-06-10 13:19:37 | 00:00:02       |
2 |
|  1306 | 2004-06-10 13:20:35 | 2004-06-10 13:20:38 | 00:00:03       |
3 |
|  1307 | 2004-06-10 19:37:50 | 2004-06-10 19:47:00 | 00:15:50       |
950 |
|  1308 | 2004-06-10 23:10:08 | 2004-06-10 23:10:23 | 00:00:15       |
15 |
|  1309 | 2004-06-10 23:11:08 | 2004-06-11 00:00:01 | 213:34:53      |
768893 |
|  1311 | 2004-06-10 23:07:08 | 2004-06-10 23:08:00 | 00:01:32       |
92 |
|  1310 | 2004-06-10 23:08:58 | 2004-06-10 23:08:58 | 00:00:00       |
0 |
|  1312 | 2004-06-11 08:58:30 | 2004-06-11 09:19:04 | 01:41:14       |
6074 |
|  1315 | 2004-06-11 09:01:30 | 2004-06-11 09:02:05 | 00:01:15       |
75 |
|  1313 | 2004-06-11 09:03:30 | 2004-06-11 09:23:44 | 00:33:34       |
2014 |
|  1314 | 2004-06-11 09:24:32 | 2004-06-11 09:24:45 | 00:00:13       |
13 |



+-------+---------------------+---------------------+----------------+------


----------+
15 rows in set (0.00 sec)

Dirk Bremer - Systems Programmer II - ESS/AMS  - NISC St. Peters
USA Central Time Zone
636-922-9158 ext. 8652 fax 636-447-4471

[EMAIL PROTECTED]
www.nisc.cc



You probably want SEC_TO_TIME:

http://dev.mysql.com/doc/mysql/en/Date_and_time_functions.html

SELECT a as start, b as end, SEC_TO_TIME(end - start) FROM table

____________________________________________________________
Eamon Daly



----- Original Message ----- From: "Dirk Bremer (NISC)" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 11, 2004 1:57 PM
Subject: Date/Time Difference Calculations





I'm using MySQL version 4.0.18. I have two datetime columns in the


same


table, one that represents a start time and the other that represents


an


end


time. I would like to write a query that will show the difference


between


these two columns in a HH:MM:SS format. The values of the two columns


as


inserted into the table are never be separated by more than a few


hours,


but


could span a day boundary, i.e the start time could be late one day


end


the


end time early the next day, so the date will have to be taken into
consideration for the calculation. Looking at the docs, it appears


that


version 4.1.x has a lot more date/time functions, but I'm wondering if
something similar can be arrived at under the version that I am using.





--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]












-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to