sql - Heroku - SQL 查询在 localhost 和 heroku 上返回不同的结果

标签 sql postgresql heroku intervals

我在表格中有日期列生日,例如。值 2003-05-01。 在此表上,我运行以下查询:

SELECT "users".* FROM "users" WHERE (users.birthday < current_date - interval '15' year);

在我的本地主机上,没有返回带有 birthday: 2003-05-15 的行(这是正确的),但在 heroku 上它返回。

我在本地使用 PostgreSQL 数据库,所以这就是我不明白的原因,同一个查询怎么可能得到两个不同的结果...

有没有人遇到过类似的问题?这种行为可能有什么问题?

谢谢你的每一个建议。

最佳答案

尝试将“year”放入值为“15”的字符串中。这是一个远景,但可能是 Heroku 认为它是列别名而默默地删除了“年”:

db=# select current_date - interval '15' year;
      ?column?       
---------------------
 1997-04-26 00:00:00

db=# select current_date - interval '15'
        years        
---------------------
 2012-04-25 23:59:45

db=# select current_date - interval '15 year';
      ?column?       
---------------------
 1997-04-26 00:00:00

关于sql - Heroku - SQL 查询在 localhost 和 heroku 上返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10338404/

相关文章:

sql - 选择等于 10 位的行

python-3.x - Selenium & Heroku : urllib3. 异常。ProtocolError : ('Connection aborted.' , ConnectionResetError(104, 'Connection reset by peer'))

ruby-on-rails - 在任何来源中都找不到 safe_yaml-0.9.2

sql - 使用 PostgreSQL 区分计数

asp.net - ADO.NET 隔离级别中没有已提交读快照?

json - Entity Framework 电动工具和 PostgreSQL JSON 数据类型

ruby - 如何更改 heroku postgres 数据库的编码?

php - MySQL 使用过滤器、COUNT、GROUP BY/LIMIT/ORDER BY 和子查询查询 HTML 表

mysql - 我的SQL 5.6-如何防止读取前一个SQL语句选择的行以及在给定列中共享重复值的任何其他行

python - 使用 Psycopg2 时,Postgres 在查询期间在几百秒后关闭连接