آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

توابع NULL در SQL

دوره های پیشنهادی

توابع ISNULL و NVL و IFNULL و COALESCE در SQL

به جدول “Products” در زیر نگاه کنید:

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

فرض کنید که وارد کردن مقدار در ستون “UnitsOnOrder” اختیاری بوده و می تواند حاوی مقدار NULL باشد.

دستور SELECT زیر را داریم:

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)

FROM Products

در مثال فوق، اگر هر یک از مقادیر ستون “UnitsOnOrder” حاوی NULL باشند نتیجه آن NULL خواهد بود.

تابع ISNULL مایکروسافت برای مشخص کردن چگونگی رفتار با مقدار NULL استفاده می شود.

توابع NVL() ، IFNULL و COALESCE() نیز می توانند برای رسیدن به نتیجه ای مشابه استفاده شوند.

در این مورد می خواهیم تا مقدار NULL صفر در نظر گرفته شود.

در زیر، اگر “UnitsOnOrder” مقدار NULL باشد، دیگر مشکلی برای محاسبه وجود نخواهد داشت، زیرا تابع ISNULL اگر مقدارش NULL باشد صفر را بر می گرداند.

در MS Access

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

FROM Products

در SQL Server

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

FROM Products

در Oracle

در Oracle تابع ISNULL() وجود ندارد. اما می توانیم از تابع NVL() برای رسیدن به نتیجه ای مشابه استفاده کنیم:

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

FROM Products

در MySQL

در MySQL تابع ISNULL() وجود دارد. اما عملکرد آن کمی با تابع ISNULL() مایکروسافت متفاوت است.

در MySQL مانند آنچه در زیر می بینید می توانیم از تابع IFNULL()استفاده کنیم:

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

FROM Products

یا می توانیم از تابع COALESCE() مانند زیر استفاده کنیم:

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

FROM Products
  • 2847
  •    862
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .