从名为“订阅”的表中,我想列出从当天起0到3天之间过期的所有项目。
$Today = date('Y-m-d');
|--------|----------|------------|
| SUB_Id | SUB_Name | SUB_End |
|--------|----------|------------|
| 1 | Banana | 2017-12-01 |
| 2 | Apple | 2017-11-03 |
| 3 | Pear | 2017-11-03 |
|--------|----------|------------|
我应该有最后两行SUB_End
- $Today
<= 3天。
我尝试了什么:
select * from Subscriptions
where DATEDIFF(SUB_End , $today) <= 3;
答案 0 :(得分:0)
我会在SQL中完全执行此操作:
select s.*
from Subscriptions s
where sub_end >= curdate() and
sub_end <= curdate() + interval 3 day;
答案 1 :(得分:0)
你可以试试这个。 编辑:基于Oracle的解决方案。
select s.*
from Subscriptions s
where s.sub_end BETWEEN TRUNC(SYSDATE - 3) AND TRUNC(SYSDATE)
答案 2 :(得分:0)
您可以使用以下查询,这仅适用于sql server:
select * from Subscriptions
where DATEDIFF(day, SUB_End , getdate()) <= 3;