Lucrul cu null-values ​​este null și nu este null - limba de interogare sql

Valoarea NULL

Destul de des există astfel de cazuri când există înregistrări în tabel cu valori nedefinite ale câmpurilor, deoarece valoarea câmpului este necunoscută sau pur și simplu nu există. În astfel de cazuri, SQL vă permite să specificați o valoare NULL în câmp. Strict vorbind, valoarea NULL nu este reprezentată deloc în câmp. Când valoarea câmpului este NULL, înseamnă că programul bazei de date marchează câmpul într-un mod special, deoarece nu conține nicio valoare pentru rândul dat (înregistrare). Nu este cazul în cazul unei simple atribuții câmpului valorii "zero" sau "gap", pe care baza de date o tratează ca orice altă valoare. Deoarece NULL nu este o valoare per se, nu are un tip de date. NULL poate fi plasat în orice tip de câmp. Cu toate acestea, NULL, ca valoare NULL, este adesea folosit în SQL.






Să presupunem că a existat un cumpărător care nu a numit încă un vânzător. Pentru a stabili acest fapt, trebuie să introduceți o valoare NULL în câmpul snum, dar valoarea reală a rândul său, mai târziu, în cazul în care cumpărătorul va fi atribuit vânzătorului.







Deoarece NULL captează valori lipsă, rezultatul oricărei comparații cu valorile NULL este necunoscut. Atunci când o valoare NULL este comparată cu orice valoare, chiar și cu o valoare NULL, rezultatul nu este cunoscut. O valoare boolean este „necunoscut“ se comportă ca un „fals“ - un șir de caractere pe care predicatul ia valoarea „necunoscută“ nu este inclusă în rezultatul interogării - cu o singură excepție importantă: NU de minciună este adevărat (NU (fals) = true), întrucât NU de la o valoare necunoscută este, de asemenea, o valoare necunoscută. Prin urmare, o expresie precum "city = NULL" sau "city IN (NULL)" este necunoscută indiferent de valoarea orașului.
Este adesea necesar să se facă distincția între false și necunoscute, șiruri care conțin valori ale coloanelor care nu satisfac predicatul și șiruri care conțin NULL. În acest scop, SQL are un operator special IS care este utilizat cu cuvântul cheie NULL pentru a localiza valoarea NULL.

SQL ESTE NULL. Un exemplu.
Obțineți toate câmpurile din talentul Clienților, ale căror câmpuri ale orașului sunt NULL:

SELECT * FROM Clienți WHERE orașul ESTE NULL

În acest caz, nu vor fi date de ieșire, deoarece câmpul orașului nu are valori NULL.

NU ESTE NULL

Condiția NOT NULL este utilizată în interogări pentru a prelua înregistrări cu valori care nu sunt egale cu NULL
SQL nu este NULL. Un exemplu.
Ieșiți toate câmpurile din talentul Clienților, valorile câmpului din care nu sunt NULL:

SELECT * FROM Clienți WHERE orașul NU ESTE NULL







Articole similare

Trimiteți-le prietenilor: