我正在寻找一个where子句,可用于检索过去24小时的记录?
当前回答
在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)
SELECT *
FROM tableName
WHERE datecolumn >= dateadd(hour,-24,getdate())
在postgres中,假设你的字段类型是时间戳:
Select * from date_field > (now() - interval '24小时');
在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)
MySQL:
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 24 HOUR)
时间间隔可以是年、月、日、小时、分、秒
比如,在最后十分钟
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 10 MINUTE)
推荐文章
- 在SQL中,如何在范围中“分组”?
- 选项(RECOMPILE)总是更快;为什么?
- 设置数据库从单用户模式到多用户
- oracle中的RANK()和DENSE_RANK()函数有什么区别?
- 的类型不能用作索引中的键列
- 如何在PowerShell格式化日期时间
- SQL逻辑运算符优先级:And和Or
- 如何检查一个表是否存在于给定的模式中
- 添加一个复合主键
- 在c#中解析字符串为日期时间
- 如何在SQL Server Management Studio中查看查询历史
- 可以为公共表表达式创建嵌套WITH子句吗?
- 什么时候我需要在Oracle SQL中使用分号vs斜杠?
- SQL Server的NOW()?
- 在SQL中,count(列)和count(*)之间的区别是什么?