Valori nul în baza de date, sql, ceea ce înseamnă valori nula

înseamnă NULL Nu există informații, necunoscute. Valoarea NULL nu este o valoare în sensul deplin al cuvântului, prin definiție este nici o valoare și nu face parte din orice tip de date. Prin urmare, NULL nu este egal cu nici o valoare logică FALSE, nici o linie goală, sau zero. În comparație cu orice valoare NULL este primit rezultatul NULL, nu FALSE și nu 0. Mai mult, nu este egal cu NULL NULL! Destul de des, programatorii evita valori nule nule pentru câmpurile din exponat implicit de tip 0 „“ (șirul gol). În primul rând, este greșit din punct de vedere al semantica: 0 înseamnă încă disponibilitatea informațiilor. În al doilea rând, utilizarea unor astfel de valori implicite pot duce la erori.







Să presupunem că există o etichetă de produs în care sunt stocate modele de notebook-uri. Fiecare model are un producător, descriere și preț. Prețul poate lua nul, pentru că la momentul adăugării unui produs nou, este posibil să nu fie cunoscut. Să presupunem că trebuie să calculați costul mediu pentru laptop-uri HP. Când toate prețurile sunt cunoscute, nu există nici o problemă.







1) În primul experiment, câmpul de preț va avea o valoare implicită de '' (un șir gol). Prețul modelului nr. 4 este necunoscut (valoarea lui este 0 sau "'). În acest caz, prețul mediu nu este calculat corect, deoarece În calcul sunt luate în considerare și un laptop care nu are un preț.

avg = (400 + 300 + 500 + 0) / 4 = 300

2) În al doilea experiment, câmpul de preț este nul. În acest caz, baza de date ignoră valorile nula când grupați. Valoarea medie se calculează fără a lua în considerare modelul nr. 4, care nu cunoaște prețul.

avg = (400 + 300 + 500) / 3 = 400

Astfel, utilizați valori nula oriunde ar fi într-adevăr necesare.

a fost posibil în cererea de a scrie nu este NULL

Puteți utiliza o condiție mai corectă în interogare
prețul nu este nul și prețul> 0
Mai bine, nu combinați laptopul și prețul acestuia într-un singur tabel. Sunt entități diferite, nu? Și trebuie să fie implementate în tabele diferite, atunci nu va fi nici o problemă de a folosi valori nulă sau zero în această perspectivă







Articole similare

Trimiteți-le prietenilor: