1

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

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
4

1 回答 1

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)
于 2012-10-12T12:05:15.080 回答