我在表格中有日期列生日
,例如。值 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/