在mysql中检索两个日期之间的记录?

在mysql中检索两个日期之间的记录?,mysql,Mysql,我的问题是 select * from emp where DATE_FORMAT(approved_date,'%d-%m-%Y')BETWEEN '01-01-2014' and '26-01-2014'; 但它显示了2013年的记录 表为批准日期: 01-10-2013 01-01-2014 25-2-2014 试试这个: select * from emp where approved_date BETWEEN STR_TO_DATE('18-01-2014', '%d-%m-

我的问题是

select *
from emp 
where DATE_FORMAT(approved_date,'%d-%m-%Y')BETWEEN '01-01-2014' and '26-01-2014';
但它显示了2013年的记录

表为批准日期:

01-10-2013
01-01-2014
25-2-2014
试试这个:

select * from emp 
where approved_date 
BETWEEN STR_TO_DATE('18-01-2014', '%d-%m-%Y') 
AND STR_TO_DATE('26-01-2014', '%d-%m-%Y')
正在运行的演示:

尝试以下操作:

select * from emp 
where approved_date 
BETWEEN STR_TO_DATE('18-01-2014', '%d-%m-%Y') 
AND STR_TO_DATE('26-01-2014', '%d-%m-%Y')

工作演示:

示例:

SELECT users.* from users 
WHERE created_at >= '2011-12-01' 
AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)Which will select all users in the same interval You might also find the BETWEEN operator more readable:

希望这有帮助。

示例:

SELECT users.* from users 
WHERE created_at >= '2011-12-01' 
AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)Which will select all users in the same interval You might also find the BETWEEN operator more readable:
希望这有帮助

dd-mm-yyyy格式

select * from emp 
         where approved_date > STR_TO_DATE('2014-01-01','%d-%m-%Y') and 
               approved_date < STR_TO_DATE('2014-01-25','%d-%m-%Y');  
dd-mm-yyyy格式

select * from emp 
         where approved_date > STR_TO_DATE('2014-01-01','%d-%m-%Y') and 
               approved_date < STR_TO_DATE('2014-01-25','%d-%m-%Y');  

谢谢,但我想用dd-mm-yyyy格式而不是yyyy-mm-dd格式检查日期。可能吗?太好了…它可以工作了。。。但是,除了使用STR_TO_DATE,我们是否可以更改此日期格式(批准的日期,%d-%m-%Y')并获得相同的o/p?@user3057670最好不要在比较的左侧使用任何函数,因为如果使用了函数,MySQL将无法使用索引(如果有),并将导致性能降低。@user3057670是,这是可以做到的。如下所示:
其中日期格式(批准日期,%d-%m-%Y')介于“2014年1月16日”和“2014年1月26日”之间
。这是演示:谢谢,但我想检查dd-mm-yyyy格式的日期,而不是yyyy-mm-dd格式的日期。可能吗?太好了…它可以工作了。。。但是,除了使用STR_TO_DATE,我们是否可以更改此日期格式(批准的日期,%d-%m-%Y')并获得相同的o/p?@user3057670最好不要在比较的左侧使用任何函数,因为如果使用了函数,MySQL将无法使用索引(如果有),并将导致性能降低。@user3057670是,这是可以做到的。如下所示:
其中日期格式(批准日期,%d-%m-%Y')介于“2014年1月16日”和“2014年1月26日”之间
。这是演示:谢谢。但是我想检查dd-mm-yyyy格式的日期,而不是yyyy-mm-dd格式的日期。如果我使用%y-%m-%d,则它可以工作。但是我想使用dd-mm-yyyy格式检查,谢谢。但是我想检查dd-mm-yyyy格式的日期,而不是yyyy-mm-dd格式的日期。如果我使用%y-%m-%d,则它可以工作。但是我想使用dd-mm-yyyy格式进行检查