Postgresql 错误:运算符不存在:没有时区的时间戳>;整数)
我正在使用Rails 5.2并传递一个日期参数。为了简化我的示例,请看下面的sql查询,它与之类似,但经过简化,因为它太复杂,无法与活动记录方法一起使用,因此我需要运行原始sqlPostgresql 错误:运算符不存在:没有时区的时间戳>;整数),postgresql,activerecord,ruby-on-rails-5.2,Postgresql,Activerecord,Ruby On Rails 5.2,我正在使用Rails 5.2并传递一个日期参数。为了简化我的示例,请看下面的sql查询,它与之类似,但经过简化,因为它太复杂,无法与活动记录方法一起使用,因此我需要运行原始sql sql = 'Select * FROM mytable WHERE created_at > #{@start_date_time}' 1) 在将参数传递到字符串或execute命令时,如何清理这些参数 2) 我的约会应该是什么格式?我尝试了“2018-01-01 00:00:00.000”和“2018-01
sql = 'Select * FROM mytable WHERE created_at > #{@start_date_time}'
1) 在将参数传递到字符串或execute命令时,如何清理这些参数
2) 我的约会应该是什么格式?我尝试了“2018-01-01 00:00:00.000”和“2018-01-01”,但都出现了错误
代码:
错误
如果在“2018-01-01”中创建,那么应该可以工作如果在“2018-01-01”中创建,那么应该可以工作我对rails的了解不够,无法告诉您如何解决此问题,但错误是由于缺少引用而导致的。它正试图将2016年(2018-1-1)与创建的时间进行比较。我对rails了解不够,无法告诉您如何解决这个问题,但错误是由于缺少引用而导致的。它正试图将2016年(2018年1月1日)与2015年1月1日进行比较。
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