我在以下 MySQL 语句中使用日期变量时遇到问题。日期变量包含一个表示日期的字符串。
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)
关于mysql - Ruby on Rails .find_by_sql 引用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28768687/