MySQL NULL funksiyalari


ULASHISH

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!