Php 如何选择过期日期之前的一个日期

Php 如何选择过期日期之前的一个日期,php,sql,oracle,Php,Sql,Oracle,我正在尝试提出一个查询,它允许我在到期日前一天使用at列表选择数据 我试过这个。但也不起作用: SELECT code, prod_name, price, expdate, ROUND((expdate - sysdate), 5) from items_info WHERE (SELECT ROUND((expdate - sysdate), 5) from items_info) > 1 ; 有谁能告诉我我的查询有什么问题,或者告诉我如何使用满足条件的不同查询。如果您使用的是O

我正在尝试提出一个查询,它允许我在到期日前一天使用at列表选择数据

我试过这个。但也不起作用:

SELECT code, prod_name, price, expdate, ROUND((expdate - sysdate), 5) 
from items_info 
WHERE (SELECT ROUND((expdate - sysdate), 5) from items_info) > 1 ;

有谁能告诉我我的查询有什么问题,或者告诉我如何使用满足条件的不同查询。

如果您使用的是Oracle,请尝试以下操作:

SELECT code, prod_name, price, expdate, ROUND((expdate - sysdate), 5) 
from items_info 
WHERE expdate >= trunc(SYSDATE + 1);
您的查询(如最初编写的)的问题是使用了MySQL函数


当前编写的查询的问题是,在大多数情况下,子查询将返回多行,并且您将得到一个错误。然后,即使子查询有效,您也会得到所有行(因为
where
子句为true)或没有行(因为子查询为false)。

它没有找到任何数据。我需要在到期日前一天选择列表中包含at的所有产品,假设当时不存在这样的行。您可以编辑问题并提供示例数据和预期结果。