... WHERE date_column = TO_DATE(?, 'YYYY-MM-DD') ... my $date_str = '2015-08-08'; $sth->execute($date_str); # OR my $date_fmt = my $datetime_fmt = my $datetime_tz_fmt = 'YYYY-MM-DD HH24:MI:SS'; $dbh->do("alter session set nls_date_format=$date_fmt"); $dbh->do("alter session set nls_timestamp_format=$datetime_fmt"); $dbh->do("alter session set nls_timestamp_tz_format=$datetime_tz_fmt"); ... WHERE date_column = ? ... my $date_str = '2015-08-08'; $sth->execute($date_str); #### $start_date = '2015-08-01'; $end_date = '2015-09-01'; ... WHERE date_column >= ? and date_column < ? ... $sth->execute($start_date, $end_date);