如何获取两列之间的日期范围?
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
答案 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)