title: How to use temporal validity in Oracle 12c?
body: <p>How to design a table in Oracle 11g so that it is compatible later on with the new <em>"Temporal validity"</em> feature in Oracle 12c?</p>
  
  <p>The online documentation of Oracle 12c specifies how to define temporal validity inthe SQL Language guide (<a href="http://docs.oracle.com/cd/E16655_01/server.121/e17209/statements_7002.htm#CJADHJHB" rel="noreferrer">http://docs.oracle.com/cd/E16655_01/server.121/e17209/statements_7002.htm#CJADHJHB</a>)</p>
  
  <pre><code>ALTER TABLE my_table ADD (PERIOD FOR my_valid_time (my_valid_start, my_valid_end) );
  </code></pre>
  
  <p>So one could use the good old valid_from and valid_till columns already in 11g and beef them up to proper periods in 12c, right? </p>
  
  <p>I've inherited databases that use fixed magic dates for "since always" and "for ever", for instance <code>DATE '1900-01-01'</code> and <code>DATE '3999-12-31'</code>. Apparently, 12c uses <code>NULL</code> instead.</p>
  
  <p>So, do we have to abandon using fixed magic dates and switch to <code>NULL</code> dates?</p>