sql >> Base de Datos >  >> RDS >> SQLite

SQLite ES NULO

Resumen :en este tutorial, aprenderá a usar SQLite IS NULL y IS NOT NULL operadores para verificar si un valor es NULL o no.

Introducción a SQLite IS NULL operador

NULL es especial. Indica que un dato es desconocido o no aplicable.

Por ejemplo, algunas canciones pueden no tener la información del compositor porque no sabemos quién las escribió.

Para almacenar estos compositores desconocidos junto con las canciones en una tabla de base de datos, debemos usar NULL.

NULL no es igual a nada, ni siquiera al número cero, una cadena vacía, etc.

Especialmente, NULL no es igual a sí mismo. La siguiente expresión devuelve 0:

NULL = NULL
Code language: SQL (Structured Query Language) (sql)

Esto se debe a que dos datos desconocidos no pueden ser comparables.

Veamos las siguientes tracks tabla de la base de datos de ejemplo:

La siguiente instrucción intenta encontrar pistas cuyos compositores sean NULL:

SELECT
    Name, 
    Composer
FROM
    tracks
WHERE
    Composer = NULL;
Code language: SQL (Structured Query Language) (sql)

Devuelve una fila vacía sin emitir ningún mensaje adicional.

Esto se debe a que la siguiente expresión siempre se evalúa como falsa:

Composer = NULL
Code language: SQL (Structured Query Language) (sql)

No es válido usar NULL de esta manera.

Para verificar si un valor es NULL o no, usa el IS NULL operador en su lugar:

{ column | expression } IS NULL;
Code language: SQL (Structured Query Language) (sql)

El IS NULL operador devuelve 1 si la column o expression se evalúa como NULL.

Para encontrar todas las pistas cuyos compositores son desconocidos, usa el IS NULL operador como se muestra en la siguiente consulta:

SELECT
    Name, 
    Composer
FROM
    tracks
WHERE
    Composer IS NULL
ORDER BY 
    Name;   
Code language: SQL (Structured Query Language) (sql)

Aquí está la salida parcial:

SQLite IS NOT NULL operador

El NOT operador niega el IS NULL operador de la siguiente manera:

expression | column IS NOT NULL
Code language: SQL (Structured Query Language) (sql)

El IS NOT NULL operador devuelve 1 si la expression o column no es NULL y 0 si la expresión o columna es NULL.

El siguiente ejemplo encuentra tracks cuyos compositores no son NULL:

SELECT
    Name, 
    Composer
FROM
    tracks
WHERE
    Composer IS NOT NULL
ORDER BY 
    Name;       
Code language: SQL (Structured Query Language) (sql)

Esta imagen ilustra la salida parcial:

En este tutorial, aprendió cómo verificar si los valores en una columna o una expresión son NULL o no usando el IS NULL y IS NOT NULL operadores.