php - 选择一个 mysql 时间戳范围

标签 php mysql timestamp

我试图从 mysql 数据库中选择一个时间戳范围,但我遇到了问题,不知道为什么。

我有表“pedido”和设置为时间戳的字段“fecha”。我有很多条目,所以这应该不是问题。

但是,当您使用此查询进行选择时:

 SELECT * FROM pedido WHERE fecha BETWEEN UNIX_TIMESTAMP('2011-10-10') AND UNIX_TIMESTAMP('2011-11-10') ORDER BY fecha DESC

我没有收到任何回复。

谢谢你的帮助

最佳答案

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 

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

关于php - 选择一个 mysql 时间戳范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082037/

相关文章:

java - JDBC 要求 Sybase 的时间戳偏移一小时?

php - SQL错误: column ambiguously defined with subquery

php - 如何在没有循环的情况下将mysql数组加载到数组中?

java - 在 Java 中获取 nanos unix 纪元时间的最快方法

MySQL infile 忽略标题行

php - 避免使用 php 显示具有 Null 值的行

c++ - 在 Linux 中获取时间戳的“最便宜”方式(C++)

php - 我想在 Iframe Javascript PHP 的帮助下将单个 ajax uploader 脚本插入多个 uploader

PHP 和 MySql 问题

php - SQL inner join 将整数转换为文本