在MySQL中的两个日期字符串之间获取数据

and*_*ton 6 mysql sql date between

我一直在为我正在处理的项目记录Twitter数据,日期信息保存Thu, 14 Jul 2011 06:21:48 +0000在字符串字段中.

如何使用mySQL选择两个日期之间的数据?我可以获得大于值或小于值但不在值之间的数据.

例如,数据是:

Thu, 14 Jul 2011 06:21:48 +0000
Thu, 14 Jul 2011 12:18:21 +0000
Thu, 14 Jul 2011 18:48:00 +0000
Thu, 14 Jul 2011 23:48:02 +0000
Fri, 15 Jul 2011 06:48:10 +0000
Fri, 15 Jul 2011 12:48:00 +0000
Fri, 15 Jul 2011 18:43:32 +0000
Fri, 15 Jul 2011 23:44:08 +0000
Sat, 16 Jul 2011 06:47:08 +0000
Sat, 16 Jul 2011 12:46:49 +0000
Sat, 16 Jul 2011 18:45:41 +0000
Sat, 16 Jul 2011 23:41:27 +0000
Run Code Online (Sandbox Code Playgroud)

我的SQL字符串是:

SELECT * 
FROM twitter 
WHERE SUBSTR(twitter_date, 6, 11) >= '2011-06-15' 
AND SUBSTR(twitter_date, 6, 11) <= '2011-06-21'
Run Code Online (Sandbox Code Playgroud)

我也尝试过BETWEEN声明,但没有运气.

任何帮助将不胜感激!

Noa*_*oah 7

您不能使用它们,因为它们是字符串而不是实际的日期字段.如果您知道日期的格式始终相同,则可以执行以下操作: STR_TO_DATE(str,format)

SELECT * 
FROM twitter 
WHERE STR_TO_DATE(twitter_date, '%a, %c %b %Y %k:%i:%s') 
      between '2011-06-15' AND '2011-06-21'
Run Code Online (Sandbox Code Playgroud)