مقادیر NULL (NULL Values)
مقدار NULL یعنی «بی مقدارِ واقعی». «NULL» با صفر متفاوت است و با رشته خالی فرق دارد. مثل وقتی فیلد آدرس را کاملاً خالی می گذاری.
NULL دقیقاً چیست؟
اگر ستونی اختیاری باشد، می توانی رکوردی بدون مقدار برای آن ستون ثبت کنی. در این حالت، مقدار آن ستون NULL ذخیره می شود.
نکته: NULL نه صفر است، نه فاصله خالی؛ یعنی «نامشخص» است.
چطور NULL را تست کنیم؟
با عملگرهای مقایسه مثل = و <> نمی شود NULL را سنجید. باید از IS NULL و IS NOT NULL استفاده کنیم.
سینتکس IS NULL
SELECT column_names
FROM table_name;
WHERE column_name IS NULL;
سینتکس IS NOT NULL
SELECT column_names
FROM table_name;
WHERE column_name IS NOT NULL;
مثال: یافتن آدرس های NULL
همه مشتریانی که ستون Address آن ها NULL است برگردان.
SELECT CustomerName, ContactName, Address
FROM Customers;
WHERE Address IS NULL;
مثال: یافتن آدرس های غیر NULL
مشتریانی را بیاور که آدرس دارند؛ یعنی مقدار Address خالی نیست.
SELECT CustomerName, ContactName, Address
FROM Customers;
WHERE Address IS NOT NULL;
گام های عملی
- ستون هدف را مشخص کن.
- برای پیدا کردن خالی ها از IS NULL استفاده کن.
- برای غیرخالی ها از IS NOT NULL استفاده کن.
هشدار: هرگز ننویس = NULL یا <> NULL؛ نتیجه اشتباه می شود.
نکته: قبل از کار با NULL، بخش افزودن رکورد (INSERT INTO) را ببین. همچنین بعداً می توانی با به روزرسانی (UPDATE) مقدار NULL را پر کنی.
جمع بندی سریع
- NULL یعنی «نامشخص» نه «صفر».
- با IS NULL و IS NOT NULL بررسی کن.
- = NULL کار نمی کند.
- ستون اختیاری می تواند NULL بماند.