مقادیر NULL در SQL

مفهوم NULL در SQL، تفاوت آن با صفر و رشته خالی، و نحوه فیلتر کردن با IS NULL و IS NOT NULL.

NULL چیست؟

NULL در SQL به معنای «هیچ مقدار» یا «نامشخص» است. این مقدار با 0 یا رشته خالی '' متفاوت است.

مقدارمعنی
NULLمقدار وجود ندارد / نامشخص است
0عدد صفر — یک مقدار مشخص
''رشته خالی — یک مقدار مشخص

بررسی NULL با IS NULL

نمی‌توانید با = NULL مقادیر NULL را پیدا کنید! باید از IS NULL استفاده کنید:

-- اشتباه!
SELECT * FROM students WHERE age = NULL;

-- درست
SELECT * FROM students WHERE age IS NULL;

بررسی NOT NULL با IS NOT NULL

SELECT * FROM students WHERE age IS NOT NULL;

این کوئری فقط رکوردهایی را برمی‌گرداند که ستون age آن‌ها مقدار دارد.

چرا NULL مهم است؟

توابع کار با NULL

تابعتوضیح
IFNULL(a, b)اگر a برابر NULL باشد، b را برمی‌گرداند
COALESCE(a, b, c)اولین مقدار غیر NULL را برمی‌گرداند
NULLIF(a, b)اگر a = b باشد، NULL برمی‌گرداند

مثال:

SELECT name, IFNULL(age, 'نامشخص') AS age FROM students;

این مبحث بخشی از دوره آموزش کامل SQL است.

ابزارهای مرتبط