繁体   English   中英

mysql查询获取两个给定日期之间的结果

[英]mysql query to Get result between the two given dates

我正在尝试从MySQL服务器获取数据,该数据目前在两个给定的日期之间,我正在执行这些查询以获取所需的结果,并取得了很多成果:

SELECT mdn,recharge_status_code, recharge_status_code_desc, date_time
FROM impressions_log 
WHERE recharge_status_code in ('515') 
AND date(date_time) IN ('2014-05-18','2014-05-19','2014-05-20','2014-05-21','2014-05-22') 

我还能够找到一个查询解决方案,但是它既没有给出任何错误,也没有任何结果:

SELECT mdn,recharge_status_code, recharge_status_code_desc, date_time, retry_status
FROM impressions_log 
WHERE recharge_status_code IN ('515') AND date(date_time) = DATEDIFF('2014-05-18','2014-05-24')

尝试这个:

SELECT 
    mdn,
    recharge_status_code,
    recharge_status_code_desc,
    date_time,
    retry_status 
FROM impressions_log 
WHERE recharge_status_code in ('515') 
    AND DATE(date_time) BETWEEN '2014-05-18' AND '2014-05-24';

假设您的日期是连续的,则可以将查询更改为使用BETWEEN或相应地使用><

SELECT mdn,recharge_status_code, recharge_status_code_desc, date_time
FROM impressions_log 
WHERE recharge_status_code in ('515') 
    AND date(date_time) BETWEEN '2014-05-18' AND '2014-05-22'

要么:

SELECT mdn,recharge_status_code, recharge_status_code_desc, date_time
FROM impressions_log 
WHERE recharge_status_code in ('515') 
    AND date_time >= '2014-05-18' AND date_time < '2014-05-23'

我更喜欢后面的版本,因为您不必进行任何转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM