1

我在 web 和 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'

现在,我怎样才能得到日期之间的结果,需要帮助。

4

1 回答 1

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 不返回任何内容,因为范围的结尾在开始之前

于 2012-06-01T07:01:35.830 回答