我在表格中有日期栏birthday
,例如。值2003-05-01
。
在此表中,我运行以下查询:
SELECT "users".* FROM "users" WHERE (users.birthday < current_date - interval '15' year);
在我的localhost上,没有返回birthday: 2003-05-15
的行(这是正确的),但是在heroku上它确实存在。
本地我使用PostgreSQL数据库,这就是为什么我不明白,怎么可能得到相同的查询两个不同的结果......
有没有人有类似的问题?这种行为可能是什么问题?
感谢您的一切建议。
答案 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