错误:运算符不存在:没有时区的时间戳>整数)

时间:2019-05-08 00:25:09

标签: postgresql activerecord ruby-on-rails-5.2

我正在使用Rails 5.2并传递一个date参数。为了简化我的示例,请查看下面的sql查询,该查询与之相似但已简化,因为它太复杂而无法与活动记录方法一起使用,因此我需要运行原始sql。

sql = 'Select * FROM mytable WHERE created_at > #{@start_date_time}'

1)当我将参数传递给字符串或execute命令时,如何对其进行清理。

2)我的日期应采用什么格式?我尝试了'2018-01-01 00:00:00.000'和'2018-01-01'并都出错。

代码:

sql =count_query(@start_date_time, sender_type, sender_id)
records_array = ActiveRecord::Base.connection.execute(sql)

错误

ActiveRecord::StatementInvalid (PG::UndefinedFunction: 
ERROR:  operator does not exist: timestamp without time zone > integer)

LINE 11: WHERE created_at > 2018-01-01

1 个答案:

答案 0 :(得分:0)

在where_ created_at>'2018-01-01'应该可以正常工作