2011-08-09 12 views
16

मेरे पास एक फ़ील्ड है कि जब कुछ डाला जाता है तो मैं इसे वर्तमान दिनांक & प्राप्त करना चाहता हूं और इसे डेटाबेस में डालें। & समय प्राप्त करने का कोई तरीका है, और इसे डिफ़ॉल्ट मान के रूप में सेट करें?एसक्यूएल सर्वर डिफ़ॉल्ट दिनांक समय टिकट?

वर्तमान में डिफ़ॉल्ट मान है: (getdate()) जो केवल तारीख को सेट करता है। मैं समय कैसे निर्धारित करूं?

+0

आपको यह निर्दिष्ट करने की आवश्यकता है कि आप किस SQL ​​का उपयोग करते हैं ... – JNK

+1

@JNK: क्या आपने इसके लिए मैक्रो भी बनाया है? – VoodooChild

+1

@ वूडू अभी तक नहीं है लेकिन मैं करीब – JNK

उत्तर

26

GETDATE() SQL सर्वर में दिनांक और समय है।

इसे सत्यापित करने के लिए SELECT GETDATE() चलाएं।

आपके क्षेत्र का डेटाटाइप क्या है? यदि यह DATE है तो इसमें समय मूल्य भी नहीं होंगे।

+1

+1: गेटडेट को टाइमस्टैम्प भी मिल जाता है! – VoodooChild

+0

यदि आप वर्तमान समय का उपयोग नहीं करना चाहते हैं तो क्या होगा? – Amicable

+0

प्रश्न वर्तमान दिनांक और समय लौटने के बारे में है। आप वास्तव में क्या चाहते हैं/ – JNK

2

SYSDATETIME() वर्तमान दिनांक और समय प्राप्त करेगा।

सुनिश्चित करें कि कॉलम का डेटा प्रकार datetime है, और केवल date नहीं है या यह डेटाटाइम नहीं रख पाएगा।

0

अधिकांश SQL कार्यान्वयन (इंजन) में CURRENT_TIMESTAMP फ़ंक्शन है।

create table YourTable 
    (
    ... other columns ... 
    CreateDt datetime default getdate(), 
    ... other columns ... 
    ) 

इस पद्धति का एक नुकसान यह है कि आप एक insert खंड में यह निर्दिष्ट करने के द्वारा मान ओवरराइट कर सकते हैं:

4

एक आसान तरीका क्षेत्र एक डिफ़ॉल्ट बाधा दे रहा है।

3

व्यक्तिगत रूप से मैं भ्रम से बचने के लिए GETUTCDATE() बजाय GETDATE() का उपयोग करना चाहता हूं।

+2

मैं या तो इसकी अनुशंसा करता हूं। यदि आप इसका उपयोग करते हैं तो स्थानीय समय से छुटकारा पाने में बहुत मुश्किल है। –

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