NULL को Handle करना
NULL का मतलब है "unknown या missing", और यह zero या empty text से अलग behave करता है।
In this page:
Syntax
WHERE column IS NULL
WHERE column IS NOT NULL
SELECT COALESCE(column, default_value)
NULL Handling
NULL के साथ कोई भी arithmetic या comparison NULL देता है, इसलिए इसे test करने के लिए IS NULL और IS NOT NULL इस्तेमाल करें। COALESCE(a, b, ...) पहली non-null value return करता है, NULLIF(a, b) values equal होने पर NULL return करता है, और COUNT(column) जैसे aggregates NULLs skip करते हैं जबकि COUNT(*) नहीं करता।
Note:
COUNT(column) NULLs ignore करता है लेकिन COUNT(*) हर row count करता है।
उदाहरण: NULL handling
CREATE TABLE contacts (id INTEGER PRIMARY KEY, name TEXT, phone TEXT, age INTEGER);
INSERT INTO contacts VALUES (1, 'Ada', '555-1', 36), (2, 'Bob', NULL, NULL), (3, 'Cy', NULL, 41);
SELECT name FROM contacts WHERE phone IS NULL;
SELECT name, COALESCE(phone, 'no phone') AS phone FROM contacts;
SELECT COUNT(*) AS rows, COUNT(phone) AS phones, AVG(age) AS avg_age FROM contacts;
SELECT name, age + 1 AS next_year FROM contacts;
-- Output:
-- name
-- Bob
-- Cy
-- name | phone
-- Ada | 555-1
-- Bob | no phone
-- Cy | no phone
-- rows | phones | avg_age
-- 3 | 1 | 38.5
-- name | next_year
-- Ada | 37
-- Bob | NULL
-- Cy | 42
Login to try C/C++/Java/PHP code in the editor
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- = NULL इस्तेमाल करना
- यह उम्मीद करना कि NULL + 1 1 होगा
- यह भूल जाना कि NULLs के साथ NOT IN कुछ भी return नहीं करता
चैप्टर सारांश
- NULL का मतलब unknown है
- NULL के साथ comparisons NULL हैं
- COALESCE defaults substitute करता है
- COUNT(column) NULL skip करता है
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: