-
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_nameTenga 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_table3 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_tableConsejos 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.