you could use the Oracle function of trunc() on your dates.  Like this:

        my $sth = $dbh->prepare("
                                SELECT * 
                                        FROM stats
                                        WHERE sdate BETWEEN trunc($fromDate)
AND trunc($toDate)");
            or die "Cannot prepare SQL statements from $DBI::errstr\n";

The trunc function used like that on a date returns jsut the date portion
and not the time.

Adam



> -----Original Message-----
> From: Kipp, James [SMTP:[EMAIL PROTECTED]]
> Sent: Thursday, July 25, 2002 10:43 AM
> To:   [EMAIL PROTECTED]
> Subject:      Help on querying between dates
> 
> I have a cgi query form where the user selects a date range to get data
> from.
> I used SYSDATE as a means of inserting the date/time stamp into the table.
> But the user will be entering the dates like: 7/01/2002 to 7/25/2002.
> SYSDATE puts the dates in like '7/23/2002 10:38:10 AM' my question is how
> can i match on this date. Should i use perl to format the date or use the
> Oracle/SQL query itself to match the date. What Oracle options could i use
> to do this.
> Thanks 
> 
>  Here is the relevant code, so far:
> --
> # get the date strings from the form
> my $fromDate = $q->param('fromDate');
> my $toDate = $q->param('todate');
> ......
> 
> # plug into query
> my $sth = $dbh->prepare("
>                         SELECT * 
>                               FROM stats
>                               WHERE sdate BETWEEN $fromDate AND $toDate");
>     or die "Cannot prepare SQL statements from $DBI::errstr\n";
>  

Reply via email to