sql >> Database teknologi >  >> RDS >> SQLite

SQLite ER NULL

Oversigt :i denne øvelse vil du lære, hvordan du bruger SQLite IS NULL og IS NOT NULL operatorer for at kontrollere, om en værdi er NULL eller ej.

Introduktion til SQLite IS NULL operatør

NULL er speciel. Det angiver, at en oplysning er ukendt eller ikke anvendelig.

For eksempel kan nogle sange ikke have sangskriveroplysningerne, fordi vi ikke ved, hvem der har skrevet dem.

For at gemme disse ukendte sangskrivere sammen med sangene i en databasetabel skal vi bruge NULL.

NULL er ikke lig med noget, selv tallet nul, en tom streng og så videre.

Især NULL er ikke lig med sig selv. Følgende udtryk returnerer 0:

NULL = NULL
 Kodesprog:SQL (Structured Query Language) (sql) 

Dette skyldes, at to ukendte oplysninger ikke kan sammenlignes.

Lad os se følgende tracks tabel fra eksempeldatabasen:

Følgende sætning forsøger at finde spor, hvis komponister er NULL:

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

Det returnerer en tom række uden at afgive yderligere besked.

Dette skyldes, at følgende udtryk altid evalueres til falsk:

Composer = NULL
 Kodesprog:SQL (Structured Query Language) (sql) 

Det er ikke gyldigt at bruge NULL på denne måde.

For at kontrollere om en værdi er NULL eller ej, bruger du IS NULL operatør i stedet:

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

IS NULL operator returnerer 1 hvis column eller expression evalueres til NULL.

For at finde alle spor, hvis komponister er ukendte, bruger du IS NULL operator som vist i følgende forespørgsel:

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

Her er det delvise output:

SQLite IS NOT NULL operatør

NOT operator negerer IS NULL operatør som følger:

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

IS NOT NULL operator returnerer 1 hvis expression eller column er ikke NULL, og 0, hvis udtrykket eller kolonnen er NULL.

Følgende eksempel finder tracks hvis komponister ikke er NULL:

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

Dette billede illustrerer det delvise output:

I denne øvelse har du lært, hvordan du kontrollerer, om værdier i en kolonne eller et udtryk er NULL eller ej ved at bruge IS NULL og IS NOT NULL operatører.


  1. Forårsaget af:android.database.sqlite.SQLiteException:ingen sådan tabel:BOG (kode 1 SQLITE_ERROR)

  2. Automatisk failover af Moodle PostgreSQL-databasen

  3. Skalering af forbindelser i PostgreSQL ved hjælp af Connection Pooling

  4. Håndtering af store datamængder med MySQL og MariaDB