Invia.cz
Last minute
Tunisko
Dovolená v Chorvatsku
Pojeďte do Egypta
Bulharsko
Vydělávejte peníze s INVIA.CZ
NULL je obvykle označení pro žádnou hodnotu nebo nic. Slovo vychází z latinského nullus.
Obsah |
V programování je NULL speciální hodnota, kterou se označuje adresní ukazatel (nebo jakýkoliv jiný druh referenčního odkazu), který v danou chvíli neukazuje nikam. V programovacím jazyce C je hodnota NULL reprezentována binární nulou. V programovacím jazyce Pascal se taková hodnota označuje klíčovým slovem nil.
V relačních databázích označuje NULL speciální hodnotu uloženou v databázi, která představuje neznámou, nedefinovanou apod. hodnotu.
Pro NULL zpravidla platí zvláštní pravidla pro výpočty a porovnávání.
Výsledek jakékoli algebraické operace zahrnující NULL je opět NULL, porovnávání NULL s čímkoli je NEPRAVDA, případně speciální hodnota UNKNOWN (to platí i pro porovnávání s NULL, takže porovnání NULL = NULL je nepravdivé). Je to proto, že jedna neznámá hodnota se vůbec nemusí rovnat jiné neznámé hodnotě.
| AND | TRUE | FALSE | NULL |
|---|---|---|---|
| TRUE | TRUE | FALSE | NULL |
| FALSE | FALSE | FALSE | FALSE |
| NULL | NULL | FALSE | NULL |
| OR | TRUE | FALSE | NULL |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| FALSE | TRUE | FALSE | NULL |
| NULL | TRUE | NULL | NULL |
Proto se hodnota NULL v SQL testuje speciálním výrazem sloupec IS NULL (sloupec obsahuje hodnotu NULL) nebo sloupec IS NOT NULL (sloupec neobsahuje hodnotu NULL).
Pokud sloupec může obsahovat hodnotu NULL, je potřeba při spojování tabulek (JOIN) tuto možnost vzít v úvahu a nadefinovat chování systému v případě, že sloupec má opravdu hodnotu NULL.
V unixových operačních systémech se používá soubor /dev/null, který označuje tzv. bit bucket, zařízení, do kterého lze zapsat cokoli, ale veškerá zapsaná data se nenávratně ztrácejí. V operačních systémem firmy Microsoft (MS-DOS, Microsoft Windows) se takové zařízení označuje jako NUL.
Podobné soubory se zpravidla používají k zahazování nežádoucích hlášení programu pomocí přesměrování (např. program > /dev/null).