تابع isnull در SQL
توابع ISNULL و NVL و IFNULL و COALESCE
به جدول Products در زیر توجه فرمایید:
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | Jarlsberg | 10.45 | 16 | 15 |
2 | Mascarpone | 32.56 | 23 | |
3 | Gorgonzola | 15.67 | 9 | 20 |
فرض کنید که وارد کردن مقدار ستون UnitsOnOrder اختیاری باشد و ممکن است حاوی مقدار NULL باشد.
دستور SELECT زیر را داریم:
FROM Products
در مثال فوق، اگر هر یک از مقادیر ستون UnitsOnOrder حاوی NULL باشند نتیجه آن NULL خواهد بود.
از تابع ISNULL استفاده می شود تا مشخص کنیم چگونه می خواهیم با مقدار NULL رفتار کنیم.
توابع NVL و IFNULL و COALESCE نیز می توانند برای رسیدن به نتیجه ای مشابه استفاده شوند.
در این مورد می خواهیم تا مقدار NULL صفر در نظر گرفته شود.
در زیر، اگر UnitsOnOrder مقدار NULL داشت، دیگر مشکلی برای محاسبه وجود ندارد، زیرا تابع ISNULL آن را به صفر بر می گرداند.
SQL Server / MS Access
FROM Products
Oracle
در Oracle تابع ISNULL وجود ندارد. اما می توانیم از تابع NVL برای رسیدن به نتیجه ای مشابه استفاده کنیم:
FROM Products
MySQL
در MySQL تابع ISNULL وجود دارد. اما عملکرد آن کمی با تابع ISNULL در ماکروسافت (ACCESS,SQL SERVER) متفاوت است.
در MySQL از تابع IFNULL برای این امر استفاده می کنیم:
FROM Products
از تابع COALESCE می توانیم به شکل زیر استفاده کنیم:
FROM Products
- نوشته شده توسط مهندس تمیزی
- بازدید: 23899