SQL NULL Functions
در SQL، وقتی با مقادیر NULL سروکار داریم، از NULL Functions برای بررسی، جایگزینی یا مدیریت این مقادیر استفاده میکنیم.
چند تابع مهم وجود داره که رایجترینها هستند: ISNULL
, COALESCE
, NULLIF
.
🔹 1️⃣ ISNULL (SQL Server)
-
برای جایگزین کردن مقدار
NULL
با مقدار دلخواه استفاده میشه.
مثال:
جدول: Orders
order_id | amount |
---|---|
1 | 500 |
2 | NULL |
3 | 300 |
📌 خروجی:
order_id | amount_filled |
---|---|
1 | 500 |
2 | 0 |
3 | 300 |
🔹 2️⃣ COALESCE (SQL استاندارد)
-
مشابه
ISNULL
هست، ولی میتونه چند مقدار رو بررسی کنه و اولین مقدار غیر NULL رو برمیگردونه.
مثال:
📌 اگر amount
NULL باشه، discount
بررسی میشه و در نهایت ۰ جایگزین میشه.
🔹 3️⃣ NULLIF
-
بررسی میکنه که آیا دو مقدار برابر هستن یا نه.
-
اگر برابر باشن → NULL برمیگردونه، در غیر این صورت مقدار اول.
مثال:
📌 اگر مقدار amount
برابر ۰ باشه، نتیجه NULL میشه.
🔹 نکات مهم
-
ISNULL
→ فقط در SQL Server. -
COALESCE
→ استاندارد SQL و در همه دیتابیسها پشتیبانی میشه. -
NULLIF
→ برای جلوگیری از تقسیم بر صفر یا بررسی مقادیر برابر کاربرد داره. -
استفاده از این توابع باعث میشه نتایج کوئریها پایدارتر و بدون NULL باشند.