2016-12-30 47 views
1

以下查詢需要改變什麼?我希望所有那些date_of_leaving爲空或date_of_leaving在過去60天之間或date_of_leaving大於或等於Date.today或當前日期的員工。獲取錯誤,Mysql2 ::錯誤:你的SQL語法在rails中有錯誤?

employees = @company.employees.where('date_of_leaving BETWEEN ? AND ? OR date_of_leaving IS NULL OR date_of_leaving IS >= Date.today', Date.today - 60, Date.today) 

我以另一種方式嘗試,如下圖所示。

employees = Company.find(4).employees.where('date_of_leaving BETWEEN ? AND ? OR date_of_leaving IS NULL OR date_of_leaving IS >= ?', Date.today - 60, Date.today,Date.today) 

回答

1

我覺得你的問題是短語IS >=

您不應該使用is與比較運算符。只是運營商。拿出來,否則它看起來不錯。