2013-04-20 73 views
-1

2之前,我下面提到数据库表结构,在SQL日期函数几个月

name, expired_date, address, payment_date 
---------------------- 
name1, 2013/06/02, address1,2013/07/23 
name2, 2013/06/02, address2,2013/07/23 
name3, 2013/04/02, address3,2013/07/23 
name4, 2013/05/02, address4,2013/07/23 
name5, 2013/06/02, address5,2013/07/24 
... 
name6, 2013/06/02, address6,..... 

在这个表我yyyy/mm/dd格式的更新日期。当前月份是四月,但我只需要两条记录。例如,我只需要06个月的记录。

我需要SQL查询。

+1

显示你的努力请。 – hims056 2013-04-20 07:30:37

+0

您正在使用哪些DBMS? Postgres的?甲骨文?哪种数据类型是'expired_date'和'payment_date'? – 2013-04-20 07:31:31

+0

我们正在使用Mysql .... datatype is date – Thirunisha 2013-04-20 07:33:18

回答

0

假设你想通过EXPIRED_DATE查询:

以下查询当前日期两个月后,得到记录:

SELECT * FROM tableName where expired_date>=DATE_ADD(CURDATE(), INTERVAL 1 MONTH) 

如果你特别想记录六月:

SELECT * FROM tableName where expired_date>='2013-06-01' AND expired_date<'2013-07-01' 
0

尝试它。

Select [fields] from [yourtable] where Month([yourDateField]) = [Value, ex: for June : 6] 

实施

我假设你要检查EXPIRED_DATE

Select * from Table1 where Month(expired_date) = 6 

,如果你想查询一年也就那么,假设一年是2013年。

Select * from Table1 where Month(expired_date) = 6 and Year(expired_date) = 2013