如何获取两列之间的日期范围?

时间:2012-10-12 12:03:29

标签: mysql

如何获取两列之间的日期范围?

SELECT
     ccm.`date_from`
    , ccm.`date_to`
    , ccd.`rate`
FROM
    `currency_conversion_master` ccm
    , `currency_conversion_details` ccd

WHERE ccm.conv_m_id=ccd.conv_m_id AND DATE(date_from)>=DATE('2012-10-12')  AND DATE(date_to) <= DATE('2012-10-14') 

这样,当我把2012-10-13放入时,查询不会过滤记录。

我的意思是

DATE(date_from)>=DATE('2012-10-13')  AND DATE(date_to) <= DATE('2012-10-14')

我该怎么做?

这是带数据的数据库结构

date_from   date_to
2012-10-12  2012-10-14
2012-10-15  2012-10-19
2012-10-20  2012-10-30

1 个答案:

答案 0 :(得分:4)

使用

SELECT
    ccm.`date_from`,
    ccm.`date_to`,
    ccd.`rate`
FROM
    `currency_conversion_master` ccm
INNER JOIN `currency_conversion_details` ccd 
ON ccm.conv_m_id=ccd.conv_m_id
WHERE '2012-10-12' between DATE(date_from) and DATE(date_to)