我试图提出一个查询,允许我在到期日前一天选择列表中的数据
我试过这个。但也不起作用:
SELECT code, prod_name, price, expdate, ROUND((expdate - sysdate), 5)
from items_info
WHERE (SELECT ROUND((expdate - sysdate), 5) from items_info) > 1 ;
任何人都可以告诉我我的查询有什么问题,或者告诉我如何使用另一种符合条件的操作来开启。
答案 0 :(得分:2)
如果您使用的是Oracle,请尝试以下方法:
SELECT code, prod_name, price, expdate, ROUND((expdate - sysdate), 5)
from items_info
WHERE expdate >= trunc(SYSDATE + 1);
您的查询问题(最初编写)是使用MySQL函数。
当前编写的查询问题是子查询将返回多行,在大多数情况下,您将收到错误。然后,即使子查询工作,您将获得所有行(因为where
子句为true)或没有行(因为子查询为false)。