এর মানে কোনো সারি যদি ফেরত পাঠানো হবে @regionহয় NULLযখন আপনার প্রথম উদাহরণে ব্যবহৃত এমনকি যদি সেখানে টেবিল যেখানে সারি হয়, Regionহয় NULL।
কখন ANSI_NULLSচালু থাকে (যা আপনার সর্বদা যাইহোক সেট করা উচিত, যেহেতু এটি চালু না করার বিকল্পটি ভবিষ্যতে অপসারণ করা হবে), কোনও তুলনামূলক ক্রিয়াকলাপ যেখানে (কমপক্ষে) কোনও অপারেশন NULLতৃতীয় যুক্তিযুক্ত মান তৈরি করে - UNKNOWN( হিসাবে বিরোধী TRUEএবং FALSE)।
UNKNOWNমান যদি তারা ইতিমধ্যে সিদ্ধান্ত নিয়েছে করছি না (যেমন কোন মিশ্রন বুলিয়ান অপারেটরদের মাধ্যমে বংশ বিস্তার ANDএকটি সঙ্গে FALSEপ্রতীক বা ORসঙ্গে একটি TRUEপ্রতীক) অথবা negations ( NOT)।
WHEREদফা ফিল্টার করতে ফলাফল সেট দ্বারা উত্পাদিত ব্যবহার করা হয় FROMদফা, যেমন যে সামগ্রিক মান WHEREদফা হওয়া আবশ্যক TRUEসারি জন্য ফিল্টার করা নয় হবে। সুতরাং, যদি UNKNOWNকোনও তুলনা করে একটি উত্পাদিত হয়, এটি সারিটি ফিল্টার আউট করে দেবে।
@ ব্যবহারকারী 1227804 এর উত্তরে এই উদ্ধৃতিটি অন্তর্ভুক্ত রয়েছে:
যদি তুলনার উভয় পক্ষ কলাম বা যৌগিক এক্সপ্রেশন হয় তবে সেটিংটি তুলনাটিকে প্রভাবিত করে না।
* থেকেSET ANSI_NULLS
তবে, আমি নিশ্চিত না যে এটি কোন পয়েন্টটি তৈরি করার চেষ্টা করছে, যেহেতু দুটি NULLকলামের তুলনা করা হয় (উদাহরণস্বরূপ এ JOIN), তুলনাটি এখনও ব্যর্থ হয়:
create table
ID int not null,
Val1 varchar(10) null
)
insert into
create table
ID int not null,
Val1 varchar(10) null
)
insert into
select * from
উপরের ক্যোয়ারী 0 টি সারি প্রদান করে, যদিও:
select * from
এক সারি ফেরত দেয়। সুতরাং উভয় অপারেন্ড কলাম NULLহলেও সমান হয় না NULL। এবং এর জন্য ডকুমেন্টেশনের= অপারেশনগুলি সম্পর্কে কিছু বলার নেই:
আপনি যখন দুটি NULLএক্সপ্রেশন তুলনা করেন , ফলাফল ANSI_NULLSসেটিংসের উপর নির্ভর করে :
যদি ANSI_NULLSসেট করা থাকে ON, ফলাফলটি NULL1 , এএনএসআই কনভেনশন অনুসরণ করে যে NULL(বা অজানা) মান অন্য NULLবা অজানা মানের সমান নয় ।
যদি ANSI_NULLSসেট করা হয় OFF, ফলে NULLতুলনায় NULLহয় TRUE।
তুলনা NULLএকটি অ করার NULLমান সবসময় ফলাফল FALSE2 ।
যাইহোক, 1 এবং 2 উভয়ই ভুল - উভয় তুলনার ফলাফল UNKNOWN।
* এই পাঠ্যের গুপ্ত অর্থটি অবশেষে বহু বছর পরে আবিষ্কার হয়েছিল। এর প্রকৃত অর্থ কী, সেই তুলনাগুলির জন্য, সেটিংটির কোনও প্রভাব নেই এবং এটি সর্বদা এমনভাবে কাজ করে যা সেটিংটি চালু ছিল । যদি এটি উল্লেখ করে থাকে যে SET ANSI_NULLS OFFসেটিংসটি কোনও প্রভাব ফেলেনি তবে এটি আরও পরিষ্কার হত ।