使用trunc时,SQL不会获取今天的事务

使用trunc时,SQL不会获取今天的事务,sql,oracle,Sql,Oracle,我正在尝试将所有行或到当前时间和日期,包括今天的事务 select * from mytable where joindate <= trunc(sysdate) 我没有得到属于今天的行 我做错什么了吗。试着跑吧 select trunc(sysdate) from dual; 您将看到类似2014-05-24 00:00:00的输出。trunc将时间设置为午夜 你可以试试 where joindate < trunc(sysdate)+1 查找2014-05-25 00:0

我正在尝试将所有行或到当前时间和日期,包括今天的事务

select * from mytable 
where joindate <= trunc(sysdate)
我没有得到属于今天的行

我做错什么了吗。

试着跑吧

select trunc(sysdate) from dual;
您将看到类似2014-05-24 00:00:00的输出。trunc将时间设置为午夜

你可以试试

where joindate < trunc(sysdate)+1

查找2014-05-25 00:00:00之前所有符合您要求的joindate。

joindate的格式是什么?现在是约会时间吗?时间戳?@ManinGreen。joindate的格式是Date如果您想要今天的数据,那么不要使用trunc。@EatÅPeach。你能告诉我用什么来代替trunc吗?@Thilo-根据问题,它不需要-在当前时间之前的所有行。事实上,我把它作为一个列来阅读,无论如何都不能有未来的日期/时间,这将使整个条件毫无意义,因此它仍然可以解释…从dual中选择truncsysdate;给出2014-05-27取决于您的sql客户端配置;可能配置为不显示完整的日期时间格式。在内部,它是2014-05-27 00:00:00。其中joindate