Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
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: (4)
As of 2024-04-19 07:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found