مقدار NULL در SQL چیست؟
یک فیلد با مقدار NULL یک فیلد بدون مقدار است. اگر یک ستون از جدول دارای مقدار اختیاری باشد، میتواند مقدار NULL بپذیرد. یعنی در زمان INSERT یا UPDATE یک رکورد از آن جدول، فیلد مورد نظر میتواند دارای مقداری با نوع داده خود یا مقدار NULL باشد. توجه داشته باشید که مقدار NULL با مقدار رشتهای 'NULL' متفاوت است و با مقادیر 0 و یا خط فاصله فرق دارد و در زمان INSERT باید مقداردهی نشود یا با کلمه کلیدی NULL مقداردهی شود.
بررسی مقدار یک ستون برای مقدار NULL
برای بررسی سطرهایی که دارای مقادیر NULL در یک فیلد هستند، نمی توان از عملگر های = > > <> استفاده کرد. بنابراین برای بررسی NULL یا NULL نبودن به ترتیب از دستورات IS NULL و IS NOT NULL استفاده میکنیم. مثال زیر این موضوع را نشان میدهد.
SELECT columns_name
FROM table_name
WHERE column_name IS NULL;
SELECT columns_name
FROM table_name
WHERE column_name IS NOT NULL;
برای بررسی NULL یا NULL نبودن یک فیلد، کافیست از دستور IS NULL یا IS NOT NULL در عبارت WHERE استفاده کنیم.
با فرض جدول زیر به نام Customers برای ذخیره اطلاعات مشتری و اینکه فیلد Mobile یک فیلد اختیاری است و مقدار NULL میپذیرد، میخواهیم مشتریان را بر اساس NULL یا NULL نبودن فیلد Mobile بررسی کنیم.
| Mobile | Address | Name | Id |
| Iran, Guilan | Morteza | 1 | |
| 091X0001234 | Iran, Tehran | Ali | 2 |
| 091X0001235 | Iran, Tehran | Maryam | 3 |
| 091X0001236 | Iran, Tabriz | Hasti | 4 |
عبارت sql زیر برای پیدا کردن مشتریهایی که شماره موبایل آنها را نداریم استفاده میشود.
SELECT Id, Name, Address
FROM Customers
WHERE Mobile IS NULL;
عبارت sql زیر برای مشتریهایی که شماره موبایل آنها را داریم استفاده میشود.
SELECT Id, Name, Address, Mobile
FROM Customers
WHERE Mobile IS NOT NULL;