我正在寻找一个where子句,可用于检索过去24小时的记录?
当前回答
如果考虑的时间戳是UNIX时间戳 您需要首先将UNIX时间戳(例如1462567865)转换为mysql时间戳或数据
SELECT * FROM `orders` WHERE FROM_UNIXTIME(order_ts) > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
其他回答
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
SELECT *
FROM tableName
WHERE datecolumn >= dateadd(hour,-24,getdate())
在MySQL中:
SELECT *
FROM mytable
WHERE record_date >= NOW() - INTERVAL 1 DAY
在SQL Server中:
SELECT *
FROM mytable
WHERE record_date >= DATEADD(day, -1, GETDATE())
在Oracle中:
SELECT *
FROM mytable
WHERE record_date >= SYSDATE - 1
在PostgreSQL:
SELECT *
FROM mytable
WHERE record_date >= NOW() - '1 day'::INTERVAL
红移:
SELECT *
FROM mytable
WHERE record_date >= GETDATE() - '1 day'::INTERVAL
SQLite:
SELECT *
FROM mytable
WHERE record_date >= datetime('now','-1 day')
在MS Access中:
SELECT *
FROM mytable
WHERE record_date >= (Now - 1)
如果考虑的时间戳是UNIX时间戳 您需要首先将UNIX时间戳(例如1462567865)转换为mysql时间戳或数据
SELECT * FROM `orders` WHERE FROM_UNIXTIME(order_ts) > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
你好,我现在从原来的帖子过去了很多时间,但我有一个类似的问题,我想分享。
我得到了一个datetime字段,格式为YYYY-MM-DD hh:mm:ss,我想访问一整天,所以这是我的解决方案。
函数DATE(),在MySQL:提取日期或日期时间表达式的日期部分。
SELECT * FROM `your_table` WHERE DATE(`your_datatime_field`)='2017-10-09'
这一天我得到了所有的行寄存器。
我希望它能帮助到任何人。
推荐文章
- 在单个查询中计算空值和非空值
- 在存储过程中使用“SET XACT_ABORT ON”有什么好处?
- SQL to LINQ工具
- 如何从一个查询插入多行使用雄辩/流利
- 如何连接列在Postgres选择?
- SQL Developer只返回日期,而不是时间。我怎么解决这个问题?
- 在mongodb中存储日期/时间的最佳方法
- 有人可以对SQL查询进行版权保护吗?
- 如何知道MySQL表最近一次更新?
- 如何转储一些SQLite3表的数据?
- 如何创建一个SQL Server函数“连接”多行从一个子查询到一个单独的分隔字段?
- 在MySQL中的一个查询中更新多个具有不同值的行
- 在SQL中更新多个列
- 在Android应用程序中显示当前时间和日期
- 字符串不能识别为有效的日期时间“格式dd/MM/yyyy”