On Mon, 24 Oct 2005 [EMAIL PROTECTED] wrote:

> "Martijn Tonies" <[EMAIL PROTECTED]> wrote on 10/24/2005 10:16:21 AM:
> 
> > 
> > 
> > > Michael Stassen wrote:
> > > <snip>
> > > > Second, no, it won't overflow:
> > > >
> > > >   mysql> SELECT SEC_TO_TIME(60*60*24*5);
> > > >   +-------------------------+
> > > >   | SEC_TO_TIME(60*60*24*5) |
> > > >   +-------------------------+
> > > >   | 120:00:00               |
> > > >   +-------------------------+
> > > >   1 row in set (0.00 sec)
> > > >
> > > >   mysql> SELECT SEC_TO_TIME(60*60*24*50);
> > > >   +--------------------------+
> > > >   | SEC_TO_TIME(60*60*24*50) |
> > > >   +--------------------------+
> > > >   | 1200:00:00               |
> > > >   +--------------------------+
> > > >   1 row in set (0.00 sec)
> > > >
> > > > SEC_TO_TIME() is not limited to 24 hours.
> > > >
> > >
> > > I should have added that the limits of a TIME column are documented in 
> the
> > > manual <http://dev.mysql.com/doc/refman/4.1/en/time.html>:
> > >
> > >    TIME values may range from '-838:59:59' to '838:59:59'. The reason 
> for
> > >    which the hours part may be so large is that the TIME type may be 
> used
> > >    not only to represent a time of day (which must be less than 24 
> hours),
> > >    but elapsed time or a time interval between two events as well. 
> (Note
> > >    that this interval may be much greater than 24 hours, or even
> > negative.)
> > 
> > That's actually a very weird definition for a TIME datatype :-)
> > 
> > It should have an "interval" datatype for such operations.
> > 
> > > So some care may be needed if you will be storing the result, because
> > > SEC_TO_TIME() can return a time outside of a TIME column's allowable
> > range.
> > 
> > With regards,
> > 
> > Martijn Tonies
> > Database Workbench - tool for InterBase, Firebird, MySQL, Oracle & MS 
> SQL
> > Server
> > Upscene Productions
> > http://www.upscene.com
> > Database development questions? Check the forum!
> > http://www.databasedevelopmentforum.com
> > 
> 
> The "interval" datatype? I don't see "interval" as an option for MySQL. 
> http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html. Yes, 
> "interval" fields are defined as part of SQL2003 but MySQL doesn't have 
> them (yet) which is probably why the TIME datatype has such a wide range.
> 
> Shawn Green
> Database Administrator
> Unimin Corporation - Spruce Pine

Hey I have another question.  If I was running MySQL 5, would this be a great 
thing to create as a view?  That way I could just send the userID as a select 
for the hours and get them back?  Or would this be a waste as it is easy to get 
with a query anyway?  If so, when should I use a view?

--ja
-- 


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

Reply via email to