Bala
November 2, 2007, 12:00pm
1
Hi Experts
I’ve a product like this
ID -> 1
Name -> Xyz
Price -> 30
Created_at -> 02-NOV-07
from_date = Date.new(2, 10, 07)
to_date = Date.new(2, 10, 07)
@product = Product.find_by_sql(“select * from products where
created_at between from_date and to_date”)
code works perfectly, buy my issue is i dont get any data. always says
no record found
but if i use as like this
from_date = Date.new(2, 10, 07)
to_date = Date.new(3, 10, 07)
@product = Product.find_by_sql(“select * from products where
created_at between from_date and to_date”)
then its working fine, i can get the datas.
any suggestions experts?
Thanks in advance,
Bala
Bala
December 4, 2007, 3:36am
2
On Nov 2, 8:59 pm, Bala [email protected] wrote:
to_date = Date.new(2, 10, 07)
to_date = Date.new(3, 10, 07)
Bala
Assuming you mean
from_date = to_date = Date.new(2,11,07) # NOV, not OCT
the problem would seem to be what you are actually asking.
Oracle’s DATE includes time to the second, so when Rails passes the
Date object through to Oracle (via oci/oracle adapter), it ends up as
to_date(‘2007-11-02 00:00:00’, ‘yyyy-mm-dd hh24:mi:ss’)
so your from_date and to_date variables are both set to MIDNIGHT at
the start of the day. The created_at variable is a timestamp (in Rails
and Oracle), so includes hours, minutes and seconds (and fractional
seconds).
I’d suggest that if you use created_on instead of created_at you would
probably find that it works as expected (assuming you don’t need any
more explicit ordering within each day). Since you know that
from_date = Date.new(3,11,07)
is midnight at the start of 3/11/07, you can use it this way also.
Cheers,
Matt
Bala
December 4, 2007, 12:28pm
3
Try this way if it works??
@product = Product.find_by_sql(“select * from products where
date(created_at) between from_date and to_date”)
if u use date(created_at) then it will start from that date only…
Bala
December 5, 2007, 10:55am
4
Hi,
In Oracle, you have to use trunc() rather than date() to extract the
date part of a date or datetime expression.
–
Cheers,
Jesse
2007/12/4, Naga harish Kanegolla [email protected] :