MySQL选择Current_timestamp之间

时间:2013-10-14 13:42:53

标签: mysql sql timestamp

我有一个MySQL用户列表,在订阅时,使用CURRENT_TIMESTAMP在数据库中设置时间戳。

现在我想从这个表中选择订阅日期在第X天和第Y天之间 我尝试了几个查询,但不知怎的,它们都变空了。

这是我的上一个版本

SELECT * 
FROM users 
WHERE subscribe_date BETWEEN '2013-10-07'AND '2013-13-10'

据我所知,这个日期:2013-10-08 14:38:49 在subscribe_data字段中它应该以某种方式出现

这样做的最佳方式是什么?

也许很高兴知道我的'subscribe_date'列有'timestamp'类型,并自动填充'CURRENT_TIMESTAMP'

以下是此表中的数据:

+----+-----------+---------------------+
| id | firstname | subscribe_date      |
+----+-----------+---------------------+
| 20 | Peter     | 2013-10-01 14:37:17 |
| 21 | Jack      | 2013-10-08 14:38:49 |
| 22 | Andrew    | 2013-10-10 14:41:03 |
| 23 | Margret   | 2013-10-14 14:42:46 |
+----+-----------+---------------------+

1 个答案:

答案 0 :(得分:2)

由于TIMESTAMP通常达到秒精度,因此您必须添加时间部分:

SELECT * 
FROM users 
WHERE (subscribe_date BETWEEN '2013-10-07 00:00:00' AND '2013-12-10 23:59:59')

我已将'2013-13-10'修改为'2013-12-10 23:59:59',因为没有第13个月(并且DATETIME格式为YYYY-MM-DD,所以月份排在第二位)