گروه مقاله : SQL Server
تاريخ انتشار : 1394/02/06 - 16:59
كد :273
مقدار NULL بیانگر داده ای است که مشخص نشده و فیلدی خالی است.
به طور پیش فرض یک ستون از جدول می تواند عبارت NULL را در خود نگه دارد.
در این فصل می خواهیم، عملگرهای IS NULL و IS NOT NULL را توضیح دهیم.
مقدار NULL :
اگر وارد کردن مقدار در ستونی در یک جدول، اختیاری باشد، می توانیم در رکورد جدید یا رکورد موجود بدون اضافه کردن مقداری در این ستون، مقدار NULL را در این فیلد داشته باشیم.
با مقدار NULL نسبت به مقادیر دیگر، رفتار متفاوتی می شود.
در فیلدهای نامشخص یا نامعلوم که مقداری وارد نمی شود، مقدار NULL وجود دارد.
توجه : NULL و صفر را نمی توان با هم یکی دانست، این دو معادل یکدیگر نیستند.
کار با مقادیر NULL :
به جدول "Persons" در زیر نگاه کنید :
P_Id |
LastName |
FirstName |
Address |
City |
1 |
Hansen |
Ola |
|
Sandnes |
2 |
Svendson |
Tove |
Borgvn 23 |
Sandnes |
3 |
Pettersen |
Kari |
|
Stavanger |
فرض کنید که وارد کردن مقدار در ستون Address اختیاری باشد. این بدان معناست که اگر رکوردی را بدون وارد کردن مقداری در ستون
Address درج کنیم، ستون Address با مقدار NULL ذخیره می شود.
چگونه می توانیم تست کنیم فیلدی مقدار NULL دارد ؟
با عملگر های مقایسه ای مثل (=, <, >) نمی توان مقدار NULL را تست کرد.
بلکه باید از عملگرهای IS NULL و IS NOT NULL استفاده کنیم.
IS NULL :
چگونه می توان رکوردهایی را که در ستون Address مقدار NULL دارند را انتخاب کرد؟
باید از عملگر IS NULL برای این کار استفاده کرد:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL
نتیجه چنین خواهد شد:
LastName |
FirstName |
Address |
Hansen |
Ola |
|
Pettersen |
Kari |
|
نکته : همیشه از IS NULL برای پیدا کردن مقادیر NULL استفاده کنید.
IS NOT NULL :
چگونه می توان رکوردهایی را که در ستون Address مقدار NULL ندارند را انتخاب کرد؟
باید از عملگر IS NOT NULL برای این کار استفاده کرد:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL
نتیجه چنین خواهد شد:
LastName |
FirstName |
Address |
Svendson |
Tove |
Borgvn 23 |
در فصل بعد به توابع () ISNULL() ,NVL() ,IFNULL() ,COALESCE نظری خواهیم داشت.