title: How to create a not null column in a view
body: <p>Given a table like:</p>
  
  <pre><code>CREATE TABLE "MyTable" 
  (
    "MyColumn" NUMBER NOT NULL
  );
  </code></pre>
  
  <p>I want to create a view like:</p>
  
  <pre><code>CREATE VIEW "MyView" AS
  SELECT
      CAST("MyColumn" AS BINARY_DOUBLE) AS "MyColumn"
  FROM "MyTable";
  </code></pre>
  
  <p>Only where the column "MyColumn" is "NOT NULL".</p>
  
  <p>In SQL Server this is pretty straight forward:</p>
  
  <pre><code>CREATE VIEW [MyView] AS
  SELECT
      ISNULL(CAST([MyColumn] AS Float), 0.0) AS [MyColumn]
  FROM [MyTable];
  </code></pre>
  
  <p>However the Oracle equivalent results in a "NULL" column:</p>
  
  <pre><code>CREATE VIEW "MyView" AS
  SELECT
      NVL(CAST("MyColumn" AS BINARY_DOUBLE), 0.0) AS "MyColumn"
  FROM "MyTable";
  </code></pre>
  
  <p>Is there anyway to force Oracle to mark the view's column as "NOT NULL" in the metadata?</p>