Hi,

I'm on Oracle 8.1.6, Solaris 2.8, DBI v10.32, DBD:Oracle v1.8.

How can I bind an Oracle date expression?

I'd like to turn something like this:
$statement = "UPDATE emp SET hiredate = sysdate WHERE empno = ?";

into something like this:
$statement = "UPDATE emp SET hiredate = ? WHERE empno = ?";

I can bind numbers and string just fine.  But I can't figure out the
dates.
Snippets below.

Thanks,
John

#----------------------
use DBI;
use DBD::Oracle;
$dbh = DBI->connect('dbi:Oracle:FWIRE', 'SCOTT', 'TIGER' );
$statement = "UPDATE emp SET hiredate = sysdate WHERE empno = ?";
$sth = $dbh->prepare($statement);
$sth->bind_param ( 1, '7934' );      
$sth->execute;
#----------------------

#----------------------
use DBI;
use DBD::Oracle;
$dbh = DBI->connect('dbi:Oracle:FWIRE', 'SCOTT', 'TIGER' );
$statement = "UPDATE emp SET hiredate = ? WHERE empno = ?";
$sth = $dbh->prepare($statement);
$date = "SYSDATE+1";
#$date = "SYSDATE-2";
#$date = "TRUNC(SYSDATE,'DD')";
$sth->bind_param ( 1, $date );      
$sth->bind_param ( 1, '7934' );      
$sth->execute;
#----------------------

Reply via email to