[英]Ruby on Rails .find_by_sql quotes issue
我在以下MySQL語句中使用date變量時遇到問題。 date變量包含一個代表日期的字符串。
personal = Event.find_by_sql ["SELECT *
FROM events
WHERE DATE(start) = ?
AND HOUR(start) = ?
AND user_id = ?;", date, hour, user]
以下是在數據庫上運行的結果查詢。
SELECT *
FROM events
WHERE DATE(start) = ''2015-02-27''
AND HOUR(start) = 9
AND user_id = 123456789;
在日期字符串周圍添加了一組額外的引號,這會導致錯誤。 有什么方法可以消除多余的一對引號?
您是否嘗試過where
使用?
personal = Event.where("DATE(start) = ?", date.to_date).
where("HOUR(start) = ?", hour).
where(user_id: user)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.