title: Using SYSDATE() without DUAL table
body: <p>I'm surprised this question hasn't been asked. I must be missing something very obvious here, and I'm prepared for all the down votes and the 3 second answer.</p>
  
  <p>In MSSQL you're able to call <code>GETDATE()</code> without having to depend on a database table but in Oracle <code>SYSDATE</code> has to come from DUAL. Is there no way to get the current date in Oracle without having to go through DUAL?</p>
  
  <p>EDIT</p>
  
  <p>Clearly, this doesn't have much to do with <code>SYSDATE</code> but more with my incorrect usage of it. See the following WHERE clause: </p>
  
  <pre><code>WHERE (extract(YEAR from ORDER_DATE) = (case when extract(month from SYSDATE()) &lt; 11 then extract(year from SYSDATE()) else extract(year from SYSDATE())+1 end)
  </code></pre>
  
  <p>The above will not work, and from the answers here it seems that adding dual in there is not recommended. What's the most optimal solution here?</p>