Latest web development tutorials

SQL ISNULL ()، NVL ()، IFNULL () وتتجمع () وظيفة

SQL ISNULL ()، NVL ()، IFNULL () وتتجمع () وظيفة

نظرة على جدول "المنتجات" التالية:

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 Jarlsberg 10.45 16 15
2 Mascarpone 32.56 23
3 Gorgonzola 15.67 9 20

إذا كان "الوحدات_المطلوبة" هو اختياري، وربما تحتوي على قيم فارغة.

نحن نستخدم عبارة SELECT التالية:

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products

في المثال أعلاه، إذا كان هناك "الوحدات_المطلوبة" قيمة فارغة، ثم والنتيجة هي فارغة.

يتم استخدام الدالة مايكروسوفت ISNULL () لتحديد كيفية التعامل مع قيم فارغة.

NVL ()، IFNULL () وتلتحم وظيفة () يمكن أيضا تحقيق نفس النتائج.

هنا، ونحن نأمل قيمة فارغة هي 0.

الآن، إذا "الوحدات_المطلوبة" باطل، فإنه لن يؤثر على الحساب، لأنه إذا كانت قيمة فارغة، ISNULL () بإرجاع 0:

SQL الخادم / MS الوصول

SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products

وحي

لم أوراكل لا ISNULL () وظيفة. ومع ذلك، يمكننا استخدام وظيفة NVL () لتحقيق نفس النتيجة:

SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
FROM Products

الخلية

لديها الخلية أيضا وظيفة مماثلة ISNULL (). لكنه يعمل مع ISNULL مايكروسوفت () وظيفة مختلفة قليلا.

في الخلية، يمكننا استخدام وظيفة IFNULL () على النحو التالي:

SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products

أو يمكننا استخدام وظيفة تتجمع () على النحو التالي:

SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products