2012-06-27 101 views
0

我尝试了好几种的MySQL查询比较存储为日期时间日期的一列比较MySQL的日期。我需要创建多个不同的queries取决于采取的形式是什么动作。下面是我已创建的SQL的一个示例:当存储为日期时间

CREATE OR REPLACE VIEW franchise_filter AS SELECT * FROM `c_data`.`franchise_leads` WHERE `lead_added` BETWEEN UNIX_TIMESTAMP(DATE_SUB(now(),INTERVAL 3 Months)) AND UNIX_TIMESTAMP(now()) 

CREATE OR REPLACE VIEW franchise_filter AS SELECT * FROM `c_data`.`franchise_leads` WHERE `lead_added` <= 2012-06-27 00:00:00 

在日期由PHP供给的第二实施例使用:

date("Y-m-d 00:00:00", strtotime($date_now, "+6 months")) 

任何帮助将是大大赞赏。

回答

2

你是非常接近:使用

... WHERE `lead_added` <= "2012-06-27 00:00:00" 

(介意引号),

... WHERE `lead_added` BETWEEN DATE_SUB(NOW(),INTERVAL 3 MONTH) AND NOW() 
+0

那些bloomin语录!在第二个例子中(和之间),我不需要转换为时间戳? – jhodgson4

+0

号的列的数据类型为'DTAETIME',所以是'datataype NOW()' –

+0

大,再次感谢。 – jhodgson4

0
BETWEEN NOW() + INTERVAL 3 Months AND NOW() 
0

尝试使用DATE()功能,例如 -

SELECT * FROM table WHERE DATE(date_time_field) <= '2012-06-27'; 

此外,您可以使用CURRENT_DATE()函数代替NOW()。