میلاد با سعادت رسول اکرم(ص) و امام صادق(ع) مبارک، (کد تخفیف 35%: MiladeRasol)

سبد خرید (0)

تبلیغات

تابع isnull در SQL

توابع ISNULL و NVL و IFNULL و COALESCE  

Wiki

به جدول Products در زیر توجه فرمایید:

P_IdProductNameUnitPriceUnitsInStockUnitsOnOrder
1 Jarlsberg 10.45 16 15
2 Mascarpone 32.56 23  
3 Gorgonzola 15.67 9 20

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

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

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

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

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

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

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

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

SQL Server / MS Access

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 در ماکروسافت (ACCESS,SQL SERVER) متفاوت است.

در MySQL از تابع IFNULL برای این امر استفاده می کنیم:

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

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

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

آموزش صوتی SQL

بستن
مدرس:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!