लेकिन वे नहीं करते। NULL एक वाक्यविन्यास सुविधा . है जब एक सीमा के बाउंड के रूप में उपयोग किया जाता है, जबकि -infinity / infinity वास्तविक मान हैं दायरे के दायरे में। एब्स्ट्रैक्ट वैल्यूज का मतलब किसी भी अन्य वैल्यू से कम / अधिक होता है, लेकिन मानों फिर भी (जिसे शामिल या बाहर किया जा सकता है)।
साथ ही, NULL किसी भी . के लिए काम करता है श्रेणी प्रकार, जबकि अधिकांश डेटा प्रकारों में -infinity . जैसे विशेष मान नहीं होते हैं / infinity . integer लें और int4range उदाहरण के लिए।
बेहतर समझ के लिए, pgsql-सामान्य में उस धागे पर विचार करें जो a_horse प्रदान किया गया :
हर डेटा प्रकार NULL हो सकता है , यहां तक कि ऐसे डोमेन जो स्पष्ट रूप से NOT NULL . हैं . देखें:
जिसमें date शामिल है , निश्चित रूप से (जैसे -distinct-from#comment119506494_67610158">एड्रियन ने टिप्पणी की
):
test=> SELECT NULL::date, pg_typeof(NULL::date);
date | pg_typeof
------+-----------
| date
(1 row)
लेकिन NULL discuss पर चर्चा करने की कोशिश कर रहा हूं मान . के रूप में (जब एक सीमा की सीमा के रूप में उपयोग किया जाता है) शुरू करने के लिए एक भ्रामक दृष्टिकोण है। यह कोई मूल्य नहीं है।
फिर से, NULL श्रेणी के क्षेत्र में मान के रूप में नहीं माना जाता है। यह कहने के लिए सुविधाजनक वाक्यविन्यास के रूप में कार्य करता है:"अनबाउंड"। इससे ज्यादा नहीं।