با سلام خدمت همراهان همیشگی وب سایت پرنیان طرح
با یکی دیگر از مقالات آموزش SQL در خدمت شما عزیزان هستیم.
می توانید برای مطالعه بیشتر در مورد SQL به این لینک در وب سایت پرنیان طرح مراجعه کنید.
در آموزش امروز قصد داریم در مورد توابع خالی SQL NULL Functions ،در زبان برنامه نویسی SQL صحبت کنیم.
همچنین نحوه استفاده کردن از این توابع در این زبان را نیز مرور و با هم تمرین خواهیم کرد.
در ادامه آموزش همراه ما باشید.
مقدمه
به جدول زیر توجه کنید.
فرض کنید ستون “UnitsOnOrder” اختیاری است و ممکن است دارای مقادیر NULL باشد.
حالا به عبارت SELECT زیر نگاه کنید:
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;
در مثال بالا ، اگر هر یک از مقادیر “UnitsOnOrder” دارای مقدار “NULL”باشد ، نتیجه نهایی ، NULL خواهد بود.
راه حل ها
راه حل در زبان برنامه نویسی MySQL
تابع ()MySQL IFNULL به شما این امکان را می دهد که اگر مقدار خروجی NULL بود، آن را با یک مقدار دیگر جایگزین کنید.
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
و یا می توانیم از تابع ()COALESCE استفاده کنیم .
به مثال زیر توجه کنید:
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;
راه حل در زبان برنامه نویسی SQL Server
تابع ()SQL Server ISNULL به شما این امکان را می دهد که اگر مقدار خروجی NULL بود، آن را با یک مقدار دیگر جایگزین کنید.
SELECT ProductName, UnitPrice * (UnitsInStock + ISNULL(UnitsOnOrder, 0))
FROM Products;
راه حل در زبان برنامه نویسی MS Access
تابع ()MS Access IsNull ، در صورتی که نتیجه یک اعلان برابر باNULLباشد، مقدار TRUE یا (1-) را بر می گرداند.
در غیر اینصورت مقدار FALSE یا (0) را بر خواهد گرداند.
SELECT ProductName, UnitPrice * (UnitsInStock + IIF(IsNull(UnitsOnOrder), 0, UnitsOnOrder))
FROM Products;
راه حل در زبان برنامه نویسی Oracle
تابع ()NVL در زبان برنامه نویسی اوراکل نیز به همان نتیجه خواهد رسید.
SELECT ProductName, UnitPrice * (UnitsInStock + NVL(UnitsOnOrder, 0))
FROM Products;