SQLite
 sql >> Baza danych >  >> RDS >> SQLite

SQLite JEST NULL

Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite IS NULL i IS NOT NULL operatorów, aby sprawdzić, czy wartość jest NULL, czy nie.

Wprowadzenie do SQLite IS NULL operator

NULL jest wyjątkowy. Wskazuje, że informacja jest nieznana lub nie ma zastosowania.

Na przykład niektóre utwory mogą nie zawierać informacji o autorze piosenek, ponieważ nie wiemy, kto je napisał.

Aby przechowywać tych nieznanych autorów piosenek wraz z utworami w tabeli bazy danych, musimy użyć wartości NULL.

NULL nie jest równe niczemu, nawet liczbie zero, pustym łańcuchu i tak dalej.

W szczególności NULL nie jest sobie równy. Następujące wyrażenie zwraca 0:

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

Dzieje się tak, ponieważ dwie nieznane informacje nie mogą być porównywalne.

Zobaczmy następujące tracks tabela z przykładowej bazy danych:

Poniższe stwierdzenie próbuje znaleźć utwory, których kompozytorzy mają wartość NULL:

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

Zwraca pusty wiersz bez wysyłania dodatkowej wiadomości.

Dzieje się tak, ponieważ następujące wyrażenie zawsze ma wartość false:

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

Używanie w ten sposób wartości NULL jest nieważne.

Aby sprawdzić, czy wartość jest NULL, czy nie, użyj IS NULL operator zamiast:

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

IS NULL operator zwraca 1, jeśli column lub expression ocenia na NULL.

Aby znaleźć wszystkie utwory, których kompozytorzy są nieznani, użyj IS NULL operator, jak pokazano w następującym zapytaniu:

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

Oto częściowe wyjście:

SQLite IS NOT NULL operator

NOT operator neguje IS NULL operatora w następujący sposób:

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

IS NOT NULL operator zwraca 1, jeśli expression lub column nie ma wartości NULL, a 0, jeśli wyrażenie lub kolumna ma wartość NULL.

Poniższy przykład wyszukuje tracks których kompozytorzy nie mają wartości NULL:

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

Ten obraz ilustruje częściowe wyjście:

W tym samouczku nauczyłeś się, jak sprawdzić, czy wartości w kolumnie lub wyrażeniu mają wartość NULL, czy nie, używając IS NULL i IS NOT NULL operatorów.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Eksportuj całą bazę danych SQLite do pliku SQL

  2. Niewłaściwa neutralizacja elementów specjalnych używanych w poleceniu SQL

  3. Usuń SQLite

  4. Otwieranie bazy danych Android Sqlite we fragmencie

  5. java.lang.OutOfMemoryError:[wyczerpana pamięć] podczas odczytu danych z Sqlite Android