title: Create date from year, month and day
body: <p>Does Oracle have a builtin function to create a date from its individual components (year, month and day) that just returns null on missing data?</p>
  <p>I'm aware of <code>TO_DATE()</code> but I need to compose a string first and neither the <code>||</code> operator nor the <code>CONCAT()</code> function make it easy to handle missing data:</p>
  <pre><code>-- my_year NUMBER(4,0) NULL
  SELECT TO_DATE(my_year || '-01-01', 'YYYY-MM-DD') AS my_date
  FROM my_table;
  </code></pre>
  <p>Whenever <code>my_year</code> is <code>NULL</code> we end up with <code>TO_DATE('-01-01', 'YYYY-MM-DD')</code> and:</p>
  <pre class="lang-none prettyprint-override"><code>ORA-01841: (full) year must be between -4713 and +9999, and not be 0
  </code></pre>