mysql - 在mysql时间戳上选择日期范围

标签 mysql sql

我正在尝试以下但没有得到结果:

SELECT *
FROM users_test
WHERE dateadded >= UNIX_TIMESTAMP('2012-02-01 00:00:00') 
AND dateadded <  UNIX_TIMESTAMP('2012-11-01 00:00:00');

但我知道有些列的日期在该范围内,例如

2012-05-11 17:10:08

有更好的方法吗?

最终我想搜索多个参数,尽管不是在同一时间,比如今天、昨天、上周、上个月等,还有日期范围和月份范围

最佳答案

你试过吗?

SELECT *
FROM users_test
WHERE dateadded >= '2012-02-01 00:00:00'
AND dateadded <  '2012-11-01 00:00:00'

就我所见,您的表似乎以您希望查找的方式存储数据 (2012-05-11 17:10:08),因此在这种情况下您不需要 UNIX_TIMESTAMP。

我还可以看到您想从结果中排除第二个日期(因为您使用的是 < 而不是 <= ),否则使用 WHERE dateadded BETWEEN '2012-02-01 00:00:00' AND '2012-11-01 00:00:00'也可以...

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

相关文章:

mysql - 如何按天选出今天和明天少于指定时间的数据?

sql - 在 Postgres 上选择 Distinct(不区分大小写)

c# - 必须声明标量变量@

sql - 在公共(public)列上加入 2 个 SELECT 语句

sql - 如何在 Excel 工作表中的命名范围上运行 SQL 语句?

mysql - PDO MySQL 使用 select 插入多行

mysql在同一字段中通过AND子句链接多个IN子句

MySQL递增值

MySQL 转义一切(所有特殊字符)

java - 为 jdbc :mysql 在 mariadb 中禁用持久连接