sql - 如何只选择昨天的记录?

标签 sql database oracle plsql

我花了几个小时在网上搜索这个问题的答案...

这是我目前拥有的:

select  *
from    order_header oh
where   tran_date = sysdate-1

最佳答案

使用:

AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400

引用:TRUNC

tran_date 上调用函数意味着优化器将无法使用与其关联的索引(假设存在)。某些数据库(例如 Oracle)支持基于函数的索引,这些索引允许对数据执行函数以将这种情况下的影响降至最低,但 IME DBA 不允许这些。我同意 - 在这种情况下它们并不是真正必要的。

关于sql - 如何只选择昨天的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1574565/

相关文章:

php - 使用 Cron 作业的正确方法

sql - SQL 查询中函数调用的性能影响(关于上下文切换)

sql - PL/SQL : ORA-12704: character set mismatch when insert varchar2 to nvarchar2

SQL Server 临时表

sql - 查询 WITH 子句错误

mysql - 使用 WHERE 和 AND 参数的 LEFT JOIN

SQL:排除X分钟内出现的冗余记录的选择

ios - 从 IOS 应用程序同时多次查询数据库导致崩溃

sql - 冒号 ":"在 SQL 查询中起什么作用?

c# - 创建表,其中表名是变量