我在网络和stackoverlow上经历了很多帖子和问题。 我没有得到任何解决方案
我有一个带有字段
的表jobs
INT | datetime - Format
----------------
id | post_date - Fields
-----------------
1 | 2012-05-30 09:59:58
2 | 2012-05-30 09:59:57
3 | 2012-05-25 09:59:57
4 | 2012-05-24 09:59:57
5 | 2012-05-06 09:59:57
以下是我试过的mysql查询,但它没有给出任何结果。 它会导致空记录
查询1
select * from jobs
where post_date BETWEEN CAST('2012-05-01' as DATE) and CAST('2012-05-30' as DATE)
查询2
select * from jobs
where post_date BETWEEN
STR_TO_DATE('2012-05-30 09:59:58','YYYY-MM-DD HH:MM:SS') AND STR_TO_DATE('2012-05-1 09:59:58','YYYY-MM-DD HH:MM:SS')
查询3
select * from jobs
where post_date BETWEEN '2012-05-30 09:59:58' AND '2012-05-01 09:59:58'
现在,我怎样才能在日期之间得到结果,需要帮助。
答案 0 :(得分:2)
您的查询3最接近您的要求。这里修复了问题:
select * from jobs
where post_date BETWEEN '2012-05-30 09:59:58' AND '2012-06-01 09:59:58'
问题出在范围的最后 - 你有:
'2012-05-01 09:59:58' -- This is the first of May
但你需要
'2012-06-01 09:59:58' -- This is the first of June
您的查询3不返回任何内容,因为范围的结尾是之前开始