SQL - Null érték
SQL NULL érték
NULL értékek a hiányzó ismeretlen adatot jelöli. Az SQL, NULL értékek gyakran úgy gondolja, hogy NULL üres string.A tábla minden egyes oszlopára megadhatjuk, hogy engedélyezzük-e a Null értékeket. A Null (vagy NULL) érték nem egyenlő a nulla (0) értékkel vagy üres karaktersorozattal, a Null azt jelenti, hogy nem történt adatbevitel. Ez általában azt jelenti, hogy az érték ismeretlen vagy nincs definiálva. Ha a Null értékek nem megengedettek, akkor a táblába értékeket beíró felhasználónak valamilyen értéket be kell írnia, különben az adatbázis nem fogadja el a tábla sorát. Ez a tulajdonság nem módosítható, ha az oszlop elsődleges kulcs. Ugyanígy az azonosító oszlopok sem tartalmazhatnak Null értéket. Azaz nem hozhatunk létre vagy nem módosíthatunk úgy egy oszlopot, hogy az Azonosító és az Üres megengedett tulajdonsága is Igen értékű.
Alapértelmezett érték hozzárendelése oszlophoz
A tábla minden oszlopához megadhatunk alapértéket, amely akkor kerül az oszlopba, ha a felhasználó üresen hagyja. Ha nem adunk meg alapértéket, és a felhasználó üresen hagyja azt az oszlopot, akkor:
- ha a Null érték megengedett az oszlopban, akkor ez lesz az értéke;
- ha a Null érték nem megengedett, az oszlop üres marad, de nem menthető mindaddig, míg értéket nem írunk be.
Szöveges értéknél tegyük azt aposztrófok közé, az idézőjelet ne használjuk, mert az azonosítókra fenntartott. Ha az Alapérték oszlopban bejegyzésünk kötött alapérték helyére kerül (amely zárójelek nélkül jelenik meg), akkor az alapérték kötetlen lesz, és az új érték felváltja a régit.
A "személyek" táblázat:
| Azonosító | keresztnév | vezetéknév | cím | város |
| 1 | Péter | Kovács | Budapest | |
| 2 | István | Tóth | Iskola út 34 | Debrecen |
| 3 | Viola | Kiss | Kiskörút út 12 | Kisköre |
| 4 | Aranka | Török | Siófok |
SQL IS NULL:
Hogyan válasszuk ki csak a Null értéket tartalmazó rekordokat a "Cím" oszlopból?
Az SQL Is Null szintaxis:
SELECT vezetéknév,keresztnév,cím FROM személyek
WHERE cím IS NULL
Az eredmény így fog kinézni:
| Azonosító | Keresztnév | Vezetéknév | Cím | Város |
| 1 | Péter | Kovács | Budapest | |
| 4 | Aranka | Török | Siófok |
SQL IS NOT NULL:
Hogyan válasszuk ki csak a rekordokat a nem NULL értékeket pedig nem a "Cím" oszlopból?
Az SQL Is Not Null szintaxis:
SELECT vezetéknév,keresztnév,cím FROM személyek
WHERE cím IS NOT NULL
| Azonosító | Keresztnév | Vezetéknév | Cím | Város |
| 2 | István | Tóth | Iskola út 34 | Debrecen |
| 3 | Viola | Kiss | Kiskörút 12 | Kisköre |