مقدار 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;