MySQL NULL funksiyalari
MySQL COALESCE() va IFNULL() funksiyalari
NULL qiymatlarni o‘z ichiga olgan operatsiyalar ba’zan kutilmagan natijalarga olib kelishi mumkin.
MySQL-da NULL qiymatlarni boshqarish uchun ikkita o‘rnatilgan funksiya mavjud:
COALESCE()IFNULL()
NULL qiymati ma’lumotlar bazasi maydonidagi noma’lum yoki yetishmayotgan ma’lumotlarni ifodalaydi. Bu qiymatning o‘zi emas, balki ma’lumotlar yo‘qligini ko‘rsatadigan to‘ldiruvchidir.
Demo ma’lumotlar bazasi
Bizda quyidagi "Mahsulotlar" jadvali bor deb taxmin qiling:
| PId | ProductName | Price | InStock | InOrder |
|---|---|---|---|---|
| 1 | Jarlsberg | 10.45 | 16 | 15 |
| 2 | Mascarpone | 32.56 | 23 | null |
| 3 | Gorgonzola | 15.67 | 9 | 20 |
"InOrder" ustuni ixtiyoriy va NULL qiymatlarni o‘z ichiga olishi mumkin.
Endi quyidagi SQL operatoriga qarang:
SELECT ProductName, Price * (InStock + InOrder)
FROM Products;
Eslatma: Yuqoridagi SQL da "InOrder" qiymatlaridan birortasi NULL bo‘lsa, natija NULL bo‘ladi!
MySQL COALESCE() funksiyasi
COALESCE() funksiyasi potentsial NULL qiymatlarni qayta ishlash uchun afzal qilingan standartdir.
COALESCE() funksiyasi qiymatlar ro‘yxatidagi birinchi NULL bo‘lmagan qiymatni qaytaradi.
Sintaksis
COALESCE(val1, val2, ...., val_n)
Bu yerda NULL qiymatlarni 0 bilan almashtirish uchun COALESCE() funksiyasidan foydalanamiz:
SELECT ProductName, Price * (InStock + COALESCE(InOrder, 0))
FROM Products;MySQL IFNULL() funksiyasi
IFNULL() funksiyasi NULLni belgilangan qiymat bilan almashtiradi.
Sintaksis
IFNULL(expr, alt)
Bu yerda NULL qiymatlarni 0 bilan almashtiramiz:
SELECT ProductName, Price * (InStock + IFNULL(InOrder, 0))
FROM Products;W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
