Používatelia noví do sveta databáz sú často zmätení osobitnou hodnotou, ktorá je špecifická pre pole - hodnota NULL. Táto hodnota sa nachádza v poli obsahujúcom ľubovoľný typ údajov a má veľmi zvláštny význam v kontexte relačnej databázy. Pravdepodobne je najlepšie začať našu diskusiu o NULL s niekoľkými slovami o tom, čo je NULL nie :
- NULL nie je číslo nula.
- NULL nie je prázdny reťazec ("").
NULL je skôr hodnota, ktorá sa používa na reprezentáciu neznámeho súboru údajov. Programátori databáz často používajú výraz "hodnota NULL", ale toto je nesprávne. Pamätajte si, že NULL je neznáma hodnota, v ktorej je pole prázdne.
NULL v reálnom svete
Poďme sa pozrieť na jednoduchý príklad: tabuľku obsahujúcu zoznam stánkov s ovocím. Predpokladajme, že náš inventár obsahuje 10 jabĺk a troch pomarančov. Máme tiež zásoby sliviek, ale naše informácie o zásobách sú neúplné a nevieme, koľko sliviek (ak nejaké) sú na sklade. Pri použití hodnoty NULL by sme mali tabuľku inventára zobrazenú v tabuľke nižšie.
Inventár stojanov na ovocie
| InventoryID | položka | množstvo |
| 1 | jablká | 10 |
| 2 | pomaranče | 3 |
| 3 | slivky | NULOVÝ |
Bolo by zrejme nesprávne zahrnúť množstvo 0 pre slivky, pretože to by znamenalo, že sme mali žiadny slivky v inventári. Naopak, možno by sme mali nejaké slivky, ale len sme si neboli istí. Tabuľku možno navrhnúť buď na to, aby umožnila alebo nepovolila hodnoty NULL. Tu je príklad SQL, ktorý vytvára tabuľku zásob, ktorá umožňuje niektoré NULLy: SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL, položka VARCHAR (20) NOT NULL, Quantity INT); Tabuľka inventára tu nepovoľuje hodnoty NULL pre InventoryID a položka stĺpcov, ale umožňuje im množstvo stĺpec. Aj keď je hodnota NULL perfektná, hodnoty NULL môžu spôsobovať problémy, pretože akékoľvek porovnanie hodnôt, v ktorých je hodnota NULL, vždy má hodnotu NULL. Ak chcete skontrolovať, či tabuľka obsahuje hodnoty NULL, použite operátor IS NULL alebo IS NOT NULL. Tu je príklad IS NULL: SQL> SELECT INVENTORYID, ITEM, QUANTITY FROM INVENTORY, KDE MNOŽSTVO NIE JE NULL; Vzhľadom na náš príklad tu by sme sa vrátili: Práca s hodnotami NULL často prináša výsledky NULL v závislosti od operácie SQL. Napríklad za predpokladu, že A je NULL: Aritmetické operátory Operátory porovnania Toto sú len niektoré príklady operátorov, ktorí to urobia vždy vrátiť NULL, ak je jeden operand NULL. Existujú oveľa zložitejšie otázky a všetky sú komplikované hodnotami NULL. Úvodným bodom je, že ak povolíte hodnoty NULL vo vašej databáze, pochopíte ich dôsledky a naplánujte ich. To je NULL v skratke!Na NULL alebo NOT NULL?
InventoryID položka množstvo 3 slivky
Prevádzka na NULL









![Ako otestovať rýchlosť internetu [jednoduché, menej ako 5 minút] Ako otestovať rýchlosť internetu [jednoduché, menej ako 5 minút]](https://i.go-travels.com/img/how-to/how-to-test-your-internet-speed.png)


