Значення даних NULL в SQL.

Матеріал представлений на сторінці взятий з ресурсу http://www.w3schools.com/sql/


Значеннна поля даних NULL вказує на пропущені невідомі дані таблиці Бази Даних.

За замовчуванням, колонка таблиці зберігає NULL-значення.

Цей розділ пояснює дію операторів IS NULL та IS NOT NULL.

SQL-запит даних зі значеннями NULL

Якщо колонка таблиці не є обов'язковою для заповнення, то ми можемо вставити новий запис або оновити існуюючий запис без додавання значення до цієї колонки. Це означає, що поле буде збережено зі значенням NULL.
NULL-значення використовується як місце для невідомого чи незастосованого значення даних.

лампочка

Зауважте: Не дозволяється порівнювати NULL та 0; Ці елементи не еквивалентні.

Операції SQL з NULL-значеннями

Давайте переглянемо таблицю "Persons":

P_IdLastNameFirstNameAddressCity
1HansenOlaSandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStavanger


Припустимо, що колонка Address не є обовязковою в таблиці "Persons". Це значить, що якщо ми зробимо новий запис без внесення даних в поле Address, то колонка Address буде збережена із NULL-значенням.
- Яким чином ми можемо перевірити NULL-значення?
Адже неможливо перевірити NULL-значення такими операторами як = , < , > чи <   >.
Для цього ми використаємо оператори IS NULL та IS NOT NULL.

Оператор IS NULL

- Яким чином ми зможемо вибрати записи лише з NULL-значеннями із колонки Address?
Застосуємо оператор IS NULL

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

Результуючий запит буде мати вигляд:

LastNameFirstNameAddress
HansenOla
PettersenKari


лампочка

Порада: Використовуйте оператор IS NULL якщо необхідно перевірити наявність NULL-значення даних.

Оператор IS NOT NULL

- Яким чином ми зможемо вибрати записи НЕ з NULL-значеннями в колонці Address?
Застосуємо оператор IS NOT NULL

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL

Результуючий запит буде мати вигляд:

LastNameFirstNameAddress
SvendsonToveBorgvn 23


В слідуючих розділах ми переглянемо функції ISNULL(), NVL(), IFNULL() and COALESCE(/strong)