选择mysql时间戳范围

Dan*_*ern 2 php mysql timestamp

我试图从一个mysql数据库中选择一个时间戳范围,我有问题,不明白为什么.

我将表'pedido'和字段'fecha'设置为时间戳.我有很多条目,所以不应该是问题.

但是当y选择此查询时:

 SELECT * FROM pedido WHERE fecha BETWEEN UNIX_TIMESTAMP('2011-10-10') AND UNIX_TIMESTAMP('2011-11-10') ORDER BY fecha DESC
Run Code Online (Sandbox Code Playgroud)

我没有回应.

感谢帮助

Joh*_*ica 7

MySQL不会把存储日期/时间数据作为整数.
UNIX_TIMESTAP()返回一个整数,列出自1-1-1970以来的秒数.
您正在将日期与整数进行比较.这永远不会奏效.

将查询重写为:

SELECT * 
FROM pedido 
WHERE fecha BETWEEN '2011-10-10 00:00:00' AND '2011-11-10 23:59:59' 
ORDER BY fecha DESC 
Run Code Online (Sandbox Code Playgroud)

注意php 确实使用unix_timestamps所以如果你想在php中进行比较,你需要转换为unix_timestamp你的SQL语句或转换你的PHP代码.