Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Time::Piece::MySQL

by jeffa (Chancellor)
on Jan 04, 2004 at 19:02 UTC ( #318677=modulereview: print w/ replies, xml ) Need Help??

Item Description: Bridges the gap between Perl and MySQL date-time types

Review Synopsis:

Time::Piece::MySQL is a very useful module for MySQL users. It is simply an extension to Time::Piece that provides a handful of methods for converting back and forth between Time::Piece objects and the MySQL date/time types: date, time, datetime, and timestamp. (The year type is available from Time::Piece, so it doesn't need to be here.)

As an example, say i had a table of events that contained an id and a datetime field:

+---------+------------------+
| Field   | Type             |
+---------+------------------+
| id      | int(10) unsigned |
| date    | datetime         |
+---------+------------------+
and i wanted to add 50 days to to each date. The following snippet would do just that:
use strict; use warnings; use DBI; use Time::Seconds; use Time::Piece::MySQL; my $dbh = DBI->connect( ... ); my $sth = $dbh->prepare('update events set date = ? where id = ?'); my $dates = $dbh->selectall_arrayref( 'select id,date from events', {Slice => {}} ); for (@$dates) { my $date = localtime->from_mysql_datetime( $_->{date} ); $date += ONE_DAY * 50; $sth->execute( $date->mysql_datetime, $_->{id} ); }
A very trivial example, but i think it demonstrates how it can make someone's Perl/MySQL script easier to work with.

Comment on Time::Piece::MySQL
Download Code
Re: Time::Piece::MySQL
by CountZero (Bishop) on Jan 04, 2004 at 20:50 UTC
    I'm quite sure that this module will have a lot of good uses, but the example you give is --IMHO-- not one of such, as this problem can be solved from within MySQL itself:

    UPDATE events SET date = DATE_ADD(date, INTERVAL 50 DAY) WHERE id = ? will add 50 days to the date in the date-field.

    CountZero

    "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

Back to Reviews

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: modulereview [id://318677]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2015-07-04 03:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (57 votes), past polls