आप एक रिक्त स्ट्रिंग प्राप्त नहीं कर सकते क्योंकि आप DATEमान प्रकार से वापस कर रहे हैं ISNULL।
प्रति MSDN ,ISNULL
उसी प्रकार को लौटाता है जैसे check_expression। यदि एक शाब्दिक NULL को check_expression के रूप में प्रदान किया जाता है, तो प्रतिस्थापन_काले का डेटाटाइप लौटाता है। यदि एक शाब्दिक NULL चेक_ डेक्प्रेशन के रूप में प्रदान किया गया है और कोई रिप्लेसमेंट_वल्यू प्रदान नहीं किया गया है, तो एक इंट देता है।
यदि आप जाँच रहे हैं कि मान है या नहीं NULL, तो इसे किसी तिथि में परिवर्तित करने की कोई आवश्यकता नहीं है, जब तक कि आप एक तारीख मान वापस नहीं करना चाहते (जो आपको नहीं लगता)।
इसके बजाय, उपयोग करें:
SELECT ISNULL( DOB , '')
जो लौट आएगा
''
अगर मूल्य है NULL।
एक NULLतारीख है NULL(कोई मूल्य नहीं)। दूसरी ओर, एक खाली स्ट्रिंग, मूल्यांकन करती है 0, जिसमें SQL सर्वर अव्यवस्थित रूप से एक पूर्णांक है जो दिनों की संख्या का प्रतिनिधित्व करता है 1900-01-01।
NULLतारीखों के साथ जो कर रहे हैं वह कह रहा हैSELECT CAST('' AS DATE)। डेटा प्रकार क्या हैDOB?