Campos null con precisión en vistas

Muchas veces he necesitado crear una vista para sustituir una antigua tabla. En ocasiones he tenido que mantener en la vista una columna que ya no existe pero que debo dejar por algún motivo. Lo que hago es definir la columna como “Función(NULL) AS NOMBRE_COLUMNA”. Si es VARCHAR2 pongo directamente NULL. Si quiero que sea un number TO_NUMBER(NULL) y si es una fecha TO_DATE(NULL). Por ejemplo:

CREATE OR REPLACE VIEW CAMPOS_NULOS AS(
  SELECT NULL              AS CADENA_VACIA,
         TO_NUMBER( NULL ) AS NUMERO_VACIO,
         TO_DATE( NULL )   AS FECHA_VACIA
  FROM DUAL )
/

Si hacemos un desc:

SQL> DESC CAMPOS_NULOS
 Nombre        ¿Nulo?   Tipo
 ------------- -------- ----------------------------
 CADENA_VACIA           VARCHAR2
 NUMERO_VACIO           NUMBER
 FECHA_VACIA            DATE

El único problema, como puede verse en el ejemplo, es que perdía la precisión. Sigue leyendo

Anuncios