2012-12-18 12 views
7

मेरे पास कोई प्रश्न है: मैं डिफ़ॉल्ट डेटाटाइम के साथ SQL सर्वर में एक तालिका कैसे खाली कर सकता हूं, 1900-01-01 00:00:00.000 जो मुझे मिलता है।डिफ़ॉल्ट रूप से sql डेटाटाइम कॉलम में शून्य/खाली मान डालें

मेरा मतलब है, अगर वहाँ डाला कोई मूल्य नहीं है, तो डिफ़ॉल्ट मान, अशक्त खाली होना चाहिए ...

धन्यवाद

+5

'यदि कोई मूल्य डाला नहीं गया है, तो डिफ़ॉल्ट मान शून्य, खाली होना चाहिए 'तो इसे क्यों न सुलझाएं, और' न्यूल 'डालें? –

+0

मैंने पूर्ण वैरिएबल की अनुमति दी है .. –

+1

क्या आप नमूना 'INSERT' कथन दिखा सकते हैं? – zimdanen

उत्तर

17

अगर कोई मूल्य डाला, डिफ़ॉल्ट मान थानेदार है अशक्त, खाली

तालिका परिभाषा में हो uld, NOT NULL को परिभाषित नहीं किया जा, इस datetime स्तंभ अशक्त की अनुमति देता है बनाने:

... 
DateTimeColumn DateTime, 
... 

मैं शून्य चर हालांकि अनुमति दी है।

फिर, बस इस स्तंभ में NULL सम्मिलित करें:

INSERT INTO Table(name, datetimeColumn, ...) 
VALUES('foo bar', NULL, ..); 

या, आप DEFAULT constaints का उपयोग कर सकते:

... 
DateTimeColumn DateTime DEFAULT NULL, 
... 

तो फिर तुम INSERT बयान में पूरी तरह से इसे अनदेखा कर सकते और यह NULL मूल्य को सूख जाएगा:

INSERT INTO Table(name, ...) 
VALUES('foo bar', ..); 
+0

मुद्दा यह है कि यदि इनपुट खाली है, तो उसे '1 9 00-0-0-0 आदि' नहीं रखना चाहिए, लेकिन मुझे उन सभी शर्तों को –

+0

@OziOz नहीं देखना चाहिए। इसे 'डिफॉल्ट नल' बनाएं और इसे सम्मिलित सूची में igonre करें, अन्यथा यदि आपने 'डिफॉल्ट नल' का उपयोग नहीं किया है, तो इसे शून्य बना दें और उस कॉलम में शून्य डालें –

+0

मुझे खेद है महमूद मैं आपको अच्छी तरह समझ नहीं पा रहा हूं :( मैं इसे कहां रखूं? क्या मुझे इसके लिए एक नई क्वेरी बनाना चाहिए? डेटटाइम कॉलम डेटटाइम डिफॉल्ट न्यूल, –

0
  1. your_field DATETIME NULL DEFAULT NULL की तरह इसे परिभाषित
  2. न एक खाली स्ट्रिंग डालें, डालने एक शून्य INSERT INTO x(your_field)VALUES(NULL)
0

Ozi, आप = नए datetime datetime foo में के रूप में एक नया datetime वस्तु बनाने जब(); foo समय DateTime.MinValue() एक पैरामिट्रीकृत क्वेरी के निर्माण में साथ निर्माण किया है, तो आप अगर मूल्यों में प्रवेश किया DateTime.MinValue के बराबर (देखने के लिए)

एक तरफ सोचा, बस की जांच कर सकता है। ऐसा लगता है कि आपके पास काम करने वाली चीजें हैं।

0

मुझे आज सुबह भी यही समस्या थी। ऐसा लगता है कि DATE या DATETIME फ़ील्ड के लिए, एक खाली मान डाला नहीं जा सकता है। मुझे पहले रिक्त मूल्य (mydate = "") की जांच करके इसके चारों ओर मिल गया और यदि यह डालने से पहले mydate = "NULL" को खाली कर रहा था।

दिनांक और डेटाटाइम फ़ील्ड VARCHAR फ़ील्ड के समान व्यवहार नहीं करते हैं।

+1

_ "DATE ​​और DATETIME फ़ील्ड VARCHAR के समान व्यवहार नहीं करते हैं" _ - ऐसा इसलिए है क्योंकि एक खाली, गैर -नुल स्ट्रिंग ('" "' ') एक वैध स्ट्रिंग है, लेकिन वैध, खाली, गैर-शून्य तिथि बनाना संभव नहीं है। – CodeCaster

संबंधित मुद्दे