Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 错误:运算符不存在:没有时区的时间戳>;整数)_Postgresql_Activerecord_Ruby On Rails 5.2 - Fatal编程技术网

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

Postgresql 错误:运算符不存在:没有时区的时间戳>;整数),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

我正在使用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-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