← Back to PostgreSQL Course | Chapter 5: Filtering & Functions | Lesson 4 of 7

COALESCE और NULLIF

COALESCE पहली non-null value चुनता है और NULLIF एक चुनी हुई value को NULL में बदल देता है।

In this page:

  1. COALESCE/NULLIF
Syntax
sql
SELECT COALESCE(column1, column2, default_value);
SELECT NULLIF(column, value);

COALESCE/NULLIF

COALESCE(a, b, c) पहला argument return करता है जो NULL न हो, इसे defaults के लिए ideal बनाते हुए। NULLIF(a, b) NULL return करता है अगर a, b के बराबर हो और नहीं तो a, जो एक divisor की तरह इस्तेमाल होने पर divide-by-zero errors रोकता है।

Safely ratios calculate करने के लिए इन्हें combine करें।

Note: division-by-zero errors से बचने के लिए NULLIF(x, 0) से divide करें।

उदाहरण: COALESCE/NULLIF

sql
CREATE TABLE stats (id INTEGER PRIMARY KEY, name TEXT, nickname TEXT, hits INTEGER, visits INTEGER);
INSERT INTO stats VALUES (1, 'Ada', NULL, 50, 10), (2, 'Bob', 'B', 0, 0), (3, 'Cy', NULL, 30, NULL);
SELECT name, COALESCE(nickname, name) AS display_name FROM stats;
SELECT name, hits * 1.0 / NULLIF(visits, 0) AS hits_per_visit FROM stats;
SELECT name, COALESCE(visits, 0) AS visits FROM stats;

-- Output:
-- name | display_name
-- Ada | Ada
-- Bob | B
-- Cy | Cy
-- name | hits_per_visit
-- Ada | 5.0
-- Bob | NULL
-- Cy | NULL
-- name | visits
-- Ada | 10
-- Bob | 0
-- Cy | 0
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. #}
आम गलतियां
  1. mismatched types के साथ COALESCE इस्तेमाल करना
  2. divisors के लिए NULLIF भूल जाना
  3. empty text को NULL की तरह treat करना
चैप्टर सारांश
  • COALESCE पहली non-null return करता है
  • NULLIF equality पर NULL return करता है
  • NULLIF(x, 0) को एक safe divisor की तरह इस्तेमाल करें
  • Types compatible होने चाहिए
🔒

Chapter Quiz — Complete all 7 topics to unlock

0/7 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.