Naujiems duomenų bazių pasaulyje naudotojai dažnai painioja ypatingą lauko reikšmę - NULL vertę. Ši vertė gali būti randama lauke, kuriame yra bet kokio tipo duomenys, ir turi ypatingą reikšmę reliacinės duomenų bazės kontekste. Tikriausiai geriausia pradėti diskusiją apie NULL keliais žodžiais apie tai, kas yra NULL ne :
- NULL nėra numeris nuliui.
- NULL nėra tuščia eilutė ("") vertė.
Priešingai, NULL yra vertė, naudojama norint pateikti nežinomą duomenų dalį. Dažnai duomenų bazės programuotojai naudoja frazę "NULL vertė", bet tai yra neteisinga. Prisiminti: NULL yra nežinoma vertė, kurioje laukas yra tuščias.
NULL realiame pasaulyje
Pažvelkime į paprastą pavyzdį: lentelę, kurioje pateikiamas vaisių stendo aprašas. Tarkime, kad mūsų inventoriuje yra 10 obuolių ir trys apelsinai. Mes taip pat atsargūs slyvos, tačiau mūsų inventoriaus informacija yra neišsami, ir mes nežinome, kiek (jei yra) slyvų yra. Naudodamiesi NULL reikšme, mes turėsime inventoriaus lentelę, pateiktą žemiau esančioje lentelėje.
Vaisių stendo inventorius
| InventoryID | Prekė | Kiekis |
| 1 | Obuoliai | 10 |
| 2 | Apelsinai | 3 |
| 3 | Slyvos | NULL |
Būtų neteisinga įrašyti 0 kiekį slyvų įrašui, nes tai reikštų, kad mes turėjome ne slyvos inventoriuje. Priešingai, mes galime turėti slyvų, bet mes nesame tikri. Lentelė gali būti sukurta taip, kad leistų nustatyti NULL vertes arba ne. Čia pateikiamas SQL pavyzdys, sukuriantis Inventoriaus lentelę, leidžiančią atlikti tam tikrus NULL: SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL, Prekė VARCHAR (20) NE NULL, Kiekis INT); Inventoriaus lentelė čia neleidžia NULL vertės InventoryID ir Prekė stulpelius, bet leidžia jiems Kiekis stulpelis. NULL vertė yra visiškai gerai, todėl NULL reikšmės gali sukelti problemų, nes bet koks verčių, kurių viena yra NULL, palyginimas visada lemia NULL. Norėdami patikrinti, ar jūsų lentelėje yra NULL vertės, naudokite operatorių IS NULL arba IS NOT NULL. Štai IS NULL pavyzdys: SQL> SELECT INVENTORYID, ITEM, KIEKIS IŠ INVENTORIUS, KURIOS KIEKIS NĖRA NULL; Atsižvelgiant į mūsų pavyzdį, tai grįš: Darbas su NULL reikšmėmis dažnai sukuria NULL rezultatus, priklausomai nuo SQL operacijos. Pavyzdžiui, darant prielaidą, kad A yra NULL: Aritmetiniai operatoriai Palyginimo operatoriai Tai tik keletas operatorių pavyzdžių, kurie bus visada grįžti NULL, jei vienas operandas yra NULL. Egzistuoja daug sudėtingesnių užklausų, o viskas yra sudėtinga NULL reikšmių. Paimkite namo tašką tuo, kad, jei leisite NULL vertes savo duomenų bazėje, suprasite jų pasekmes ir planuosite. Tai trumpa informacija apie NULL!NULL arba NOT NULL?
InventoryID Prekė Kiekis 3 Slyvos
Veikianti NULL













