Skip to main content

Definición y usos adecuados de los valores nulos

Errores de fórmulas en Excel y cómo solucionarlos @EXCELeINFO (Abril 2025)

Errores de fórmulas en Excel y cómo solucionarlos @EXCELeINFO (Abril 2025)
Anonim

Los usuarios nuevos en el mundo de las bases de datos a menudo se confunden con un valor especial particular para el campo: el valor NULO. Este valor se puede encontrar en un campo que contiene cualquier tipo de datos y tiene un significado muy especial dentro del contexto de una base de datos relacional. Probablemente sea mejor comenzar nuestra discusión sobre NULL con unas pocas palabras sobre lo que es NULL no :

  • NULL no es el número cero.
  • NULL no es el valor de la cadena vacía ("").

    Más bien, NULL es el valor utilizado para representar un dato desconocido. A menudo, los programadores de bases de datos utilizarán la frase "un valor NULO", pero esto es incorrecto. Recuerde: un valor NULL es un valor desconocido en el que el campo aparece en blanco.

    NULL en el mundo real

    Veamos un ejemplo simple: una tabla que contiene el inventario de un puesto de frutas. Supongamos que nuestro inventario contiene 10 manzanas y tres naranjas. También almacenamos ciruelas, pero nuestra información de inventario está incompleta y no sabemos cuántas (si las hay) hay en stock. Usando el valor NULO, tendríamos la tabla de inventario mostrada en la tabla a continuación.

    Inventario de puesto de frutas

    InventoryIDítCantidad
    1Las manzanas10
    2Naranjas3
    3CiruelasNULO

    Claramente sería incorrecto incluir una cantidad de 0 para el registro de ciruelas, porque eso implicaría que teníamos no Ciruelas en inventario. Por el contrario, podríamos tener algunas ciruelas, pero no estamos seguros.

    ¿Para NULL o NOT NULL?

    Se puede diseñar una tabla para permitir valores NULL o no.

    Aquí hay un ejemplo de SQL que crea una tabla de inventario que permite algunos valores nulos:

    SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL, artículo VARCHAR (20) NOT NULL, cantidad INT);

    La tabla de inventario aquí no permite valores NULL para el InventoryID y el ít columnas, pero les permite para la Cantidad columna.

    Si bien permitir un valor NULL es perfectamente correcto, los valores NULL pueden causar problemas porque cualquier comparación de valores en la que uno sea NULL siempre da como resultado NULL.

    Para verificar si su tabla contiene valores NULL, use el operador IS NULL o IS NOT NOT NULL. Aquí hay un ejemplo de IS NULL:

    SQL> SELECCIONAR INVENTORYID, ARTÍCULO, CANTIDAD DE INVENTARIO DONDE LA CANTIDAD NO ES NULA;

    Dado nuestro ejemplo aquí, esto regresaría:

    InventoryIDítCantidad
    3Ciruelas

    Operando en NULLs

    Trabajar con valores NULL a menudo produce resultados NULL, dependiendo de la operación de SQL. Por ejemplo, suponiendo que A es NULL:

    Operadores aritméticos

    • A + B = NULL
    • A - B = NULL
    • A * B = NULL
    • A / B = NULL

    Operadores de comparación

    • A = B = NULL
    • A! = B = NULL
    • A> B = NULL
    • A! <B = NULL

    Estos son solo algunos ejemplos de operadores que siempre devuelve NULL si un operando es NULL. Existen consultas mucho más complejas, y todas son complicadas por los valores NULL. El punto clave es que, si permite valores NULL en su base de datos, entienda las implicaciones y planifique para ellos.

    ¡Eso es NULL en pocas palabras!