Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Time::Piece::MySQL

by jeffa (Bishop)
on Jan 04, 2004 at 19:02 UTC ( [id://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.

Replies are listed 'Best First'.
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

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (2)
As of 2025-07-19 07:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.