Tecnología

Inicio

Cómo evitar las filas nulos de Oracle SQL

Cómo evitar las filas nulos de Oracle SQL


Evitar valores nulos en Oracle se puede lograr en un número de maneras. Ya sea en busca de excluir las filas que contienen valores nulos o simplemente cambian el valor nulo a otra cosa, el uso de las funciones integradas en Oracle proporciona una solución bien documentada a esta cuestión. La cuestión principal a tener en cuenta es que los valores nulos no son tratados de la misma manera que otros valores no nulos. Sin embargo, funciona como NVL, ISNULL y se unen se pueden utilizar para trabajar eficazmente con este tipo de valores.

Instrucciones

1 Para excluir valores nulos en una columna en particular en una fila en particular, añadir una declaración a la cláusula WHERE de la instrucción SQL, como en el siguiente ejemplo:

SELECT *
DE example_table
DONDE NO ES NULO col_name

Tenga en cuenta que cuando se evalúan los valores nulos, el operador (=) no se aplica igual. En su lugar, utilice el que está o no los operadores para evaluar la igualdad.

2 Para traducir los valores nulos en algún otro valor que no sea nulo, utilice el NVL o COALESCE funciones.

La función NVL toma dos parámetros, el valor que puede contener valores nulos y el valor para reemplazar valores nulos con. En el siguiente ejemplo, los valores de col_name que son nulos será reemplazado por "<Esta es null>."

SELECT NVL (col_name, '<Esta es null>')
DE example_table

3 La función COALESCE funciona de manera similar a NVL, pero incluye la capacidad de especificar cualquier número de parámetros a la función. La función COALESCE devolverá el primer valor no nulo en los parámetros. En el siguiente ejemplo, la función COALESCE devolverá el valor de col_name si no es nula, en caso contrario devolverá "<Esta es null>."

COALESCE SELECT (col_name, other_col, '<Esta es null>')
DE example_table

Consejos y advertencias

  • En el diseño de una tabla, considere si una columna nunca debe contener valores nulos. Si la columna no debe contener valores nulos, agregar una declaración NOT NULL a la definición de la columna (si crear o modificar una tabla utilizando SQL) o utilizar una herramienta de diseño de la mesa para no permitir valores nulos.
  • Para versiones anteriores a Oracle 9i, no existe la función COALESCE.