"

NULL در SQL Server چیست؟,ویژگی‌های مهم NULL در SQL Server,NULL در دستورات مختلف  SQL

NULL در SQL Server چیست؟

NULL در SQL Server به معنای مقدار نامشخص است. NULL با صفر یا رشته خالی فرق دارد و برای بررسی آن باید از IS NULL استفاده کرد.

تیم تحریریه
10
0
25 اردیبهشت 1405
لینک کوتاه

NULL در SQL Server چیست؟

در SQL Server، مقدار NULL به معنای "مقدار نامشخص" یا "وجود ندارد" است.
NULL با صفر، رشته خالی یا مقدار پیش‌فرض متفاوت است.
صفر یک عدد است، رشته خالی یک رشته با طول صفر است، اما NULL یعنی "نمی‌دانیم" یا "مقداری ثبت نشده است".
به زبان ساده، NULL یعنی "مقداری وجود ندارد"، نه اینکه مقدار برابر با صفر یا خالی باشد.


NULL در SQL Server چیست؟




تفاوت NULL با سایر مقادیر
در SQL Server

مقدار   معنی
0 عدد صفر - یک مقدار مشخص
'' (رشته خالی) یک رشته با طول صفر - مقدار مشخص است
NULL نامشخص، ناشناخته، وجود ندارد
    
مثال ذهنی: در فرم ثبت‌نام، اگر کاربر تاریخ تولد خود را وارد نکند، مقدار آن NULL خواهد بود. این با این که کاربر متولد نشده باشد (که محال است) یا تاریخ تولد او صفر باشد (بی‌معنی است) فرق دارد.




🌟 آیا می‌خواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟

با دوره آموزشی SQL Server ما، شما می‌توانید به راحتی و با روشی عملی، تمام مهارت‌های لازم را یاد بگیرید!

این دوره به شما آموزش می‌دهد که چگونه داده‌ها را به بهترین شکل مدیریت کنید، گزارش‌های قدرتمند بسازید و به تحلیل‌های عمیق دست یابید.

با محتوای جذاب و پروژه‌های واقعی، شما نه تنها تئوری را یاد می‌گیرید، بلکه توانایی‌های عملی خود را نیز تقویت می‌کنید.

پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشن‌تر بردارید!

 همین حالا شروع کنید و به دنیای داده‌ها بپیوندید!





ویژگی‌های مهم NULL در SQL Server

۱. NULL با هیچ مقدار دیگری برابر نیست

حتی دو NULL با هم برابر نیستند! چون اگر دو مقدار نامشخص داشته باشیم، نمی‌توانیم بگوییم با هم برابرند یا نه.

-- این عبارات درست نیستند
NULL = NULL   -- نتیجه: Unknown (نه True)
NULL = 0      -- نتیجه: Unknown
NULL = ''     -- نتیجه: Unknown


۲. محاسبات با NULL نتیجه NULL می‌دهند

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


SELECT 10 + NULL AS Result;     -- نتیجه: NULL
SELECT 5 * NULL AS Result;      -- نتیجه: NULL
SELECT 'Hello' + NULL AS Result; -- نتیجه: NULL

۳. مقایسه با NULL همیشه Unknown برمی‌گرداند

در SQL Server، مقایسه با NULL نه True است و نه False، بلکه Unknown است. به همین دلیل در دستورات WHERE نباید از = NULL استفاده کرد.


-- این کار درست نیست و هیچ ردیفی برنمی‌گرداند
SELECT * FROM Users WHERE BirthDate = NULL;

-- راه درست استفاده از IS NULL است
SELECT * FROM Users WHERE BirthDate IS NULL;

ویژگی‌های مهم NULL در SQL Server


چگونه NULL را   در SQL Server بررسی کنیم؟

برای بررسی NULL بودن یک مقدار، نمی‌توان از عملگر = استفاده کرد.
باید از عملگرهای مخصوص IS NULL و IS NOT NULL استفاده کرد.
  • IS NULL (بررسی NULL بودن)

-- پیدا کردن کاربرانی که تاریخ تولد آنها ثبت نشده است
SELECT FirstName, LastName FROM Users
WHERE BirthDate IS NULL;


  • IS NOT NULL (بررسی NULL نبودن)


-- پیدا کردن کاربرانی که تاریخ تولد آنها ثبت شده است
SELECT FirstName, LastName FROM Users
WHERE BirthDate IS NOT NULL;

کار با NULL در توابع مختلف در SQL

  • تابع ISNULL

    این تابع دو پارامتر می‌گیرد: اگر مقدار اول NULL بود، مقدار دوم را جایگزین می‌کند.
SELECT 
    Name,
    ISNULL(PhoneNumber, 'ثبت نشده') AS PhoneNumber
FROM Customers;

  • تابع COALESCE

    این تابع لیستی از مقادیر را می‌گیرد و اولین مقدار غیر NULL را برمی‌گرداند.
SELECT 
    Name,
    COALESCE(HomePhone, MobilePhone, WorkPhone, 'تماسی ثبت نشده') AS ContactNumber
FROM Customers;

  • تابع NULLIF

    اگر دو مقدار با هم برابر باشند، NULL برمی‌گرداند؛ در غیر این صورت مقدار اول را برمی‌گرداند.
-- اگر مقدار با صفر برابر بود، NULL برگردان
SELECT NULLIF(Score, 0) AS ScoreWithoutZero FROM ExamResults;
 


کار با NULL در توابع مختلف در SQL

NULL در دستورات مختلف  SQL

  • در WHERE


-- کاربران با ایمیل ثبت نشده
SELECT * FROM Users WHERE Email IS NULL;

-- کاربران با ایمیل ثبت شده
SELECT * FROM Users WHERE Email IS NOT NULL;

  • در ORDER BY

در مرتب‌سازی، NULLها به صورت پیش‌فرض در انتها قرار می‌گیرند (در حالت صعودی).


-- NULLها آخر نمایش داده می‌شوند
SELECT Name, Age FROM Users ORDER BY Age;

  • در GROUP BY

ستون‌های NULL در GROUP BY یک گروه جداگانه تشکیل می‌دهند.
-- ردیف‌های با مقدار NULL در یک گروه جدا قرار می‌گیرند
SELECT City, COUNT(*) AS Count FROM Users GROUP BY City;

عملیات منطقی با NULL (سه‌ارزشی)  در SQL Server

SQL Server از منطق سه‌ارزشی (Three-Valued Logic) استفاده می‌کند: True، False و Unknown. NULL باعث ایجاد Unknown می‌شود.

عبارت نتیجه
 NULL (Unknown) TRUE AND NULL   
   FALSE FALSE AND NULL 
   TRUE TRUE OR NULL 
NULL FALSE OR NULL    
  NULL NOT NULL  


جمع‌بندی

NULL در SQL Server به معنی مقدار نامشخص یا ثبت نشده است. مهم‌ترین نکاتی که باید به خاطر بسپارید:

NULL با صفر یا رشته خالی فرق دارد

برای بررسی NULL باید از IS NULL و IS NOT NULL استفاده کرد، نه =

هر عملیات حسابی با NULL نتیجه NULL می‌دهد

توابع ISNULL و COALESCE برای جایگزینی مقدار پیش‌فرض به کار می‌روند

در طراحی جدول، با دقت تصمیم بگیرید کدام ستون‌ها می‌توانند NULL داشته باشند

محصولات مرتبط

کاربران ما

شما هم نظرتون با ما دریاره “NULL در SQL Server چیست؟” اشتراک بزارید

برای ارسال نظر لطفا ورود یا ثبت نام کنید

منو