sql >> Databáze >  >> RDS >> SQLite

SQLite JE NULL

Shrnutí :v tomto tutoriálu se naučíte používat SQLite IS NULL a IS NOT NULL operátory pro kontrolu, zda je hodnota NULL nebo ne.

Úvod do SQLite IS NULL operátor

NULL je speciální. Označuje, že určitá informace je neznámá nebo nepoužitelná.

Některé skladby například nemusí mít informace o autorovi, protože nevíme, kdo je napsal.

K uložení těchto neznámých autorů písní spolu se skladbami do databázové tabulky musíme použít hodnotu NULL.

NULL se nerovná ničemu, dokonce ani číslu nula, prázdnému řetězci a tak dále.

Zejména NULL se nerovná sama sobě. Následující výraz vrátí 0:

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

Je to proto, že dvě neznámé informace nelze srovnávat.

Podívejme se na následující tracks tabulka z ukázkové databáze:

Následující příkaz se pokouší najít skladby, jejichž skladatelé mají hodnotu NULL:

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

Vrátí prázdný řádek bez vydání jakékoli další zprávy.

Důvodem je, že následující výraz je vždy vyhodnocen jako nepravda:

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

Použití NULL tímto způsobem není platné.

Chcete-li zkontrolovat, zda je hodnota NULL nebo ne, použijte IS NULL operátor místo toho:

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

IS NULL operátor vrátí 1, pokud column nebo expression vyhodnotí jako NULL.

Chcete-li najít všechny skladby, jejichž skladatel není znám, použijte IS NULL operátor, jak je znázorněno v následujícím dotazu:

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

Zde je částečný výstup:

SQLite IS NOT NULL operátor

NOT operátor neguje IS NULL operátor takto:

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

IS NOT NULL operátor vrátí 1, pokud expression nebo column není NULL a 0, pokud je výraz nebo sloupec NULL.

Následující příklad vyhledá tracks jehož skladatelé nejsou NULL:

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

Tento obrázek ilustruje částečný výstup:

V tomto tutoriálu jste se naučili, jak zkontrolovat, zda hodnoty ve sloupci nebo výrazu jsou NULL nebo ne, pomocí IS NULL a IS NOT NULL operátory.


  1. Jak vytvořit složený primární klíč v MySQL

  2. Kód chyby:2013. Při dotazu došlo ke ztrátě připojení k serveru MySQL

  3. Výpočet rozdílu mezi dvěma časovými razítky v Oracle v milisekundách

  4. PostgreSQL dotaz s 'ANY' nefunguje