MYSQL 查询上个月某一天至本月某一天之间的数据

求语句:从daka表里找到 date在上月11号至本月10号的所有数据:

sleect * from daka where date between '上个月11号' and '本月10号' ;

#ps:这个是不是表示当月10号? 'date_format(now(), '%Y/%m/10')'

1.你问的这个date_format(now(), '%Y/%m/10') 是不是表示当月10号,答案是的,这个结果就表示当月10号
2.利用1中的获取日期方法,从daka表里找到 date在上月11号至本月10号的所有数据就可以这样写(假如你的日期格式为“yyyy-MM-dd”,其他的对应改一下下面的格式即可)

select * from daka 
where date between DATE_FORMAT(DATE_ADD(NOW(),INTERVAL -1 MONTH),'%Y-%m-11') and DATE_FORMAT(NOW(), '%Y-%m-10') 

写了个思路,可以参考一下


SELECT 
    date_format(now(), '%Y-%m-%d') AS '当月某一天',
    CONCAT(
        CASE
            WHEN date_format(now(), '%m') = 1 THEN date_format(now(), '%Y')-1
            ELSE date_format(now(), '%Y')
        END,
        '-',
        CASE
            WHEN date_format(now(), '%m') = 1 THEN 12
            ELSE date_format(now(), '%m')-1
        END,
        '-',
        date_format(now(), '%d')
    ) AS '上一月某一天'
FROM DUAL;


SQL语句

SELECT * FROM TABLE WHERE TIME BETWEEN '2018-05-30 14:00:00' AND  '2018-05-30 16:00:00';

获取本月第十天

select date_add(curdate(), interval - day(curdate()) + 10 day);