如何使用sql查询获取两次之间的表数据

如何使用sql查询获取两次之间的表数据,sql,oracle,qsqlquery,Sql,Oracle,Qsqlquery,我使用下面的sql查询来获取昨天上午12:00到11:59之间更新的表数据。在这个查询中,我需要每天输入日期,但我不想重复输入日期,所以我希望另一个查询在不更新日期的情况下获取表数据 select * from transaction_persistence where currentdatetimestamp between '18-MAY-2017 12.00.00 AM' and '18-MAY-2017 11.59.59 AM'; 使用now()或curdate(): 使用DATE

我使用下面的sql查询来获取昨天上午12:00到11:59之间更新的表数据。在这个查询中,我需要每天输入日期,但我不想重复输入日期,所以我希望另一个查询在不更新日期的情况下获取表数据

select * 
from transaction_persistence
where currentdatetimestamp between '18-MAY-2017 12.00.00 AM' and '18-MAY-2017 11.59.59 AM'; 
使用
now()
curdate()

使用
DATE\u SUB()
CURDATE()

选择*
从事务到持久性
其中currentdatetimestamp=DATE_SUB(CURDATE(),间隔1天)

它在3中显示“缺少右括号”错误line@amanshivhare你能告诉我你用的是哪台服务器吗?还有mysql客户端。我的currentdatetimestamp有一个格式为“2016年4月10日10:40:20 AM”的数据,在您的示例中,它显示错误ORA-00933:SQL命令未正确结束00933。00000-“SQL命令未正确结束”*原因:*操作:第4行错误列:51My currentdatetimestamp的数据格式为'10-APR-2016 10:40:20 AM',根据对我答案的评论,OP使用的是Oracle而不是MySQL。@GordonLinoff是的,我使用SQL developer进行上述查询
select * 
from transaction_persistence
where currentdatetimestamp >= CURDATE() and
      currentdatetimestamp < CURDATE() + interval 12 hour;
select * 
from transaction_persistence
where currentdatetimestamp >= trunc(sysdate) and
      currentdatetimestamp < trunc(sysdate) + 0.5
 SELECT * 
FROM transaction_persistence
WHERE currentdatetimestamp<CURDATE() AND currentdatetimestamp>=DATE_SUB(CURDATE(),INTERVAL 1 DAY)