我正在寻找一个where子句,可用于检索过去24小时的记录?
当前回答
在Oracle中(过去24小时):
SELECT *
FROM my_table
WHERE date_column >= SYSDATE - 24/24
如果,出于任何原因,你有未来日期的行,你可以使用between,像这样:
SELECT *
FROM my_table
WHERE date_column BETWEEN (SYSDATE - 24/24) AND SYSDATE
其他回答
没有指定SQL 2005 / 2008
SELECT yourfields from yourTable WHERE yourfieldWithDate > dateadd(dd,-1,getdate())
如果您使用的是2008年增加的精度日期类型,则使用新的sysdatetime()函数,如果使用UTC时间内部交换到UTC调用,同样如此。
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)
在postgres中,假设你的字段类型是时间戳:
Select * from date_field > (now() - interval '24小时');
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- 解析日期字符串并更改格式
- 我如何循环通过一组记录在SQL Server?
- 在Java中转换字符串到日历对象
- 如何从命令行通过mysql运行一个查询?
- 外键约束可能导致循环或多条级联路径?
- ZoneOffset之间的区别是什么。UTC和ZoneId.of(“UTC”)?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 货币应该使用哪种数据类型?
- 如何选择每一行的列值不是独特的