021-28423015
021-28423015

تابع NULL در SQL

توابع IFNULL(), ISNULL(), COALESCE()  و NVL()  

به جدول "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 زیر نگاه کنید:

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

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

راه حل ها

MySQL

تابع IFNULL () به شما اجازه می دهد که یک مقدار جایگزین را در صورت  NULL به دست آورید:

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

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

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

SQL Server
عملکرد ISNULL () به شما اجازه می دهد یک مقدار جایگزین را در صورت  NULL به شما نشان دهید:

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

MS Access
تابع IsNull () نتیجه  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
/*Select all the columns
of all the records
in the Customers table:*/
SELECT * FROM Customers;

 


نظر شما

لطفا نام و نام خانوادگی خود را وارد کنید
لطفا ایمیل خود را وارد کنید لطفا ایمیل صحیح وارد کنید.
لطفا متن نظر خود را وارد کنید
>

مقالات و دروس

عضویت در خبرنامه شرکت نرم افزاری وب مهراز

برای اطلاع از بسته ها ، تخفیف های استثنایی و تازه های ما به خبرنامه وب مهراز بپیوندید.

لطفا شماره همراه صحیح وارد کنید.
لطفا ایمیل صحیح وارد کنید.

مقالات مرتبط