我需要這個SQL查詢的Rails友好:Ruby on Rails的:執行SQL DATE_ADD()函數和IF條件
SELECT *,
IF (store.availability_offset IS NULL, DATE_ADD(product.release_date, INTERVAL 0 DAY), DATE_ADD(product.release_date, INTERVAL store.availability_offset DAY))
FROM products JOIN stores ON product.store_id = stores.id
WHERE (DATE_ADD(products.release_date, INTERVAL stores.availability_offset DAY) BETWEEN '2013-06-12' AND '2014-07-12' OR DATE_ADD(products.release_date, INTERVAL 0 DAY) BETWEEN '2013-06-12' AND '2014-07-12');
這是我的Rails查詢到現在:
@products = Product.joins(:store).where("products.release_date >= :start_date AND products.publishing_date <= :end_date)", :start_date => params[:search][:start_date], :end_date => params[:search][:end_date]")
我想做的事:
實施
IF
條件,以管理的情況下,賣場availability_offset
它的值是NULL。執行
DATE_ADD()
函數能夠將availability_offset
值添加到日期release date
。
我該怎麼做,而不使用SQL sintax,只是ActiveRecord?謝謝!
什麼是數據庫引擎的名字嗎? –
嗨,我使用MySQL。 – mariec
我還需要Ruby中的DATE_ADD(不是Rails) - 增加了賞金 –