2011-02-08 139 views
0

我有2列,开始和结束。比较MySQL日期?

我需要过滤的结果,以确保今天的日期为起点和终点之间。日期以MM/DD/YYYY语法存储。例如02/05/2011

谁能告诉我如何做到这一点吗?

"SELECT * FROM albums WHERE active=1 AND ..." 

谢谢。

+0

这是您自己的模式?你能将日期从纯文本转换为实际日期吗? – cherouvim 2011-02-08 13:33:06

回答

1
select 
    * 
from 
    albums 
where 
    active=1 
    and STR_TO_DATE(begin_date,'%m/%d/%Y') <= CURDATE() 
    and CURDATE() <= STR_TO_DATE(end_date,'%m/%d/%Y') 

但日期不应该被存储为varchar。它们应该被存储为date s。

0

尝试:

SELECT * 
FROM albums 
WHERE active=1 
AND (Comare_Value) between Start and End 
0
SELECT * 
    FROM albums 
    WHERE active=1 
     AND start <= NOW() 
     AND end >= NOW(); 
0
SELECT 
    * 
FROM 
    albums 
WHERE 
    active=1 
    AND CURRENT_DATE BETWEEN begin_date AND end_date;