SQLite
 sql >> база данни >  >> RDS >> SQLite

SQLite Е NULL

Резюме :в този урок ще научите как да използвате SQLite IS NULL и IS NOT NULL оператори, за да проверят дали дадена стойност е NULL или не.

Въведение в SQLite IS NULL оператор

NULL е специален. Показва, че част от информацията е неизвестна или неприложима.

Например някои песни може да нямат информация за автора на песни, защото не знаем кой ги е написал.

За да съхраняваме тези неизвестни автори на песни заедно с песните в таблица на база данни, трябва да използваме NULL.

NULL не е равно на нищо, дори на числото нула, празен низ и т.н.

Особено NULL не е равно на себе си. Следният израз връща 0:

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

Това е така, защото две неизвестни информация не могат да бъдат сравними.

Нека видим следните tracks таблица от примерната база данни:

Следното изявление се опитва да намери песни, чиито композитори са NULL:

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

Връща празен ред, без да издава допълнително съобщение.

Това е така, защото следният израз винаги се оценява на false:

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

Не е валидно да се използва NULL по този начин.

За да проверите дали дадена стойност е NULL или не, използвате IS NULL вместо оператор:

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

IS NULL операторът връща 1, ако column или expression оценява на NULL.

За да намерите всички песни, чиито композитори са неизвестни, използвате IS NULL оператор, както е показано в следната заявка:

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

Ето частичния изход:

SQLite IS NOT NULL оператор

NOT операторът отрича IS NULL оператор, както следва:

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

IS NOT NULL операторът връща 1, ако expression или column не е NULL и 0, ако изразът или колоната са NULL.

Следният пример намира tracks чиито композитори не са NULL:

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

Тази снимка илюстрира частичния изход:

В този урок научихте как да проверите дали стойностите в колона или израз са NULL или не, като използвате IS NULL и IS NOT NULL оператори.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да конкатенираме низове в SQLite

  2. Справяне с конфликти на първичен ключ при вмъкване на данни в SQLite

  3. Комбинирайте SQLite Count() с GROUP BY, за да добавите колона „Count“ към вашия набор от резултати

  4. Как работи AUTOINCREMENT в SQLite

  5. УНИКАЛНО ограничение на SQLite