Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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
Sql Rails:如何通过从datetime列中减去列值来查询行?_Sql_Ruby On Rails_Postgresql_Datetime - Fatal编程技术网

Sql Rails:如何通过从datetime列中减去列值来查询行?

Sql Rails:如何通过从datetime列中减去列值来查询行?,sql,ruby-on-rails,postgresql,datetime,Sql,Ruby On Rails,Postgresql,Datetime,使用PostgreSQL运行Rails 4 我有一个列存储datetime值,另一个列存储一个整型值,表示以秒为单位的时间跨度 如何查询datetime列值减去整数timespan值的行早于当前时间?datetime?你是说我想?由于缺乏信息,我将进一步假设此表: CREATE TABLE tbl ( tbl_id serial PRIMARY KEY ,ts timestamp ,seconds integer ); 其中datetime列值减去整数timesp

使用PostgreSQL运行Rails 4

我有一个列存储datetime值,另一个列存储一个整型值,表示以秒为单位的时间跨度

如何查询datetime列值减去整数timespan值的行早于当前时间?

datetime?你是说我想?由于缺乏信息,我将进一步假设此表:

CREATE TABLE tbl (
   tbl_id  serial PRIMARY KEY
  ,ts      timestamp
  ,seconds integer
  );
其中datetime列值减去整数timespan值的时间早于当前时间

查询很简单:

SELECT *
FROM   tbl
WHERE  ts - seconds * interval '1 sec < now();
但最好将其转换为表达式:

SELECT *
FROM   tbl
WHERE  ts < now() + seconds * interval '1 sec;
是Postgres的标准表格,您也可以使用

最近的相关回答: 日期时间?你是说我想?由于缺乏信息,我将进一步假设此表:

CREATE TABLE tbl (
   tbl_id  serial PRIMARY KEY
  ,ts      timestamp
  ,seconds integer
  );
其中datetime列值减去整数timespan值的时间早于当前时间

查询很简单:

SELECT *
FROM   tbl
WHERE  ts - seconds * interval '1 sec < now();
但最好将其转换为表达式:

SELECT *
FROM   tbl
WHERE  ts < now() + seconds * interval '1 sec;
是Postgres的标准表格,您也可以使用

最近的相关回答:

以下是与您所问内容相当的Rails

Model.where(%q{datetime_col - seconds_col * interval '1 second' < now()})

无论您使用的模型值是什么,datetime\u col,seconds\u col。

这里是Rails,与您所询问的内容相当

Model.where(%q{datetime_col - seconds_col * interval '1 second' < now()})

对于模型的任何值,使用的是datetime\u col,seconds\u col。

我建议从我的答案中复制sargable表达式,而不是从次答案中复制sargable表达式。我建议从我的答案中复制sargable表达式,而不是从次答案中复制sargable表达式。