2013-01-06 92 views
0

我有一个mysql表,其中有一个due_date字段,它只是一个整数值。当前日比较的sql查询

dealID | due_day 
1  | 15 
2  | 25 
3  | 10 
4  | 9 
5  | 31 
6  | 20 

我想查询此表只显示14天之前的数据。例如,今天是01/05/13,如果我查询这张表,它应该只显示我dealID 1,3和9.我应该怎么处理这种情况?

+0

什么数据库您使用的? (MySQL/SQL Server/Oracle/...) – Andomar

+0

我正在使用MySql。 –

+0

你可能意思是1,3和4(在这个例子中没有ID 9)...... – PinnyM

回答

0

所以根据user1951544的回答,这就是我想出的。

SELECT due_day 
    FROM deals 
    WHERE (due_day - DAYOFMONTH(NOW())) <=14 
1

您可以简单地使用DATE_SUB来减去当前日期的天数然后DAYOFMONTH来获得当天。

您可以使用所提到的功能创建查询。

0

查询:

SQLFIDDLEExample

SELECT 
dealID, 
due_day 
FROM Table1 
WHERE due_day < 14 + DAYOFMONTH(NOW()) 

结果:

| DEALID | DUE_DAY | 
-------------------- 
|  1 |  15 | 
|  3 |  10 | 
|  4 |  9 |