Heroku - SQL查询返回localhost和heroku上的差异结果

时间:2012-04-26 17:27:53

标签: sql postgresql heroku intervals

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

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

在我的localhost上,没有返回birthday: 2003-05-15的行(这是正确的),但是在heroku上它确实存在。

本地我使用PostgreSQL数据库,这就是为什么我不明白,怎么可能得到相同的查询两个不同的结果......

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

感谢您的一切建议。

1 个答案:

答案 0 :(得分:1)

尝试将“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