in reply to Re: Re: DBI placeholders, bind_values, and SQL_DATE
in thread DBI placeholders, bind_values, and SQL_DATE

Another option... I don't know if MySQL has the NVL function, which returns the first argument if it's not null, and the second argument otherwise. With Oracle, you could do something like this:
$insert_sth = $dbh->prepare(<<"EndOfSQL"); INSERT INTO members (member_id, name, date_joined) VALUES (?, ?, NVL(?, SysDate)) EndOfSQL $insert_sth->execute(1, 'Bob', '2001-08-15'); # Bob actually joined y +esterday $insert_sth->execute(2, 'Tom', undef); # Tom is joining now
So, you can bind a specific date in the execute, or you can bind undef and let the database specify the current date.

Replies are listed 'Best First'.
Re: Re: Re: Re: DBI placeholders, bind_values, and SQL_DATE
by dga (Hermit) on Aug 17, 2001 at 01:11 UTC

    Along this same sort of line you could set a default values in the database itself and then don't even put it in the SQL statement at all unless you don't want the current time for certain queries.