SQL सर्वर में दिनांक/समय डेटा प्रकार और घोषणा

मैं अपनी मेज में दिनांक और समय कॉलम रखना चाहता हूं। इन 2 कॉलम रखने का मुख्य उद्देश्य क्वेरी परिणामों को वापस करने में सक्षम होना है:

  1. अवधि <कोड> नवंबर 2011 ।
  2. में किए गए उपचारों की संख्या
  3. 00:01 और 08:00 घंटों के बीच बदलावों में काम करने वाले लोगों की संख्या।

मेरे पास दो टेबल हैं, जिनमें उनमें निम्नलिखित विशेषताएं हैं (दूसरों के बीच):

 Shift(day, month, year)
 Treatment(start_time, date)
  1. पहली तालिका के लिए- Shift, क्वेरी परिणामों में मूल्यों को वापस करने की आवश्यकता है की शर्तें (उदा: 30 दिसंबर, 2014)
  2. दूसरी तालिका के लिए, start_time को 0001 जैसे मानों की आवश्यकता होती है और 0800 (जैसा कि मैंने ऊपर बताया है)। हालांकि, तिथि जैसे मूल्य वापस कर सकते हैं 'नवंबर 2011'।

Initially I thought using the date datatype for declaring each of the day/month/year/date variables would do the job. But this doesn't seem to work out. Should I use int, varchar and int respectively for day, month and year respectively? Also, since the date variable does not have component parts, will date datatype work here? Lastly, if I use timestamp data type for the start_time attribute, what should be the value I enter in the insert column- should it be 08:00:00?

मैं <कोड> एसक्यूएल सर्वर 2014 का उपयोग कर रहा हूं।

आपके सहयोग के लिए धन्यवाद।

0
तारीख के प्रकार को पहले भाग के लिए ठीक काम करना चाहिए। क्या "काम नहीं करता"?
जोड़ा लेखक Hans, स्रोत
ओह, और टाइमस्टैम्प का उपयोग न करें जबतक कि आप वास्तव में नहीं जानते कि यह क्या करता है, क्योंकि शायद यह नहीं है कि आप क्या सोचते हैं।
जोड़ा लेखक Hans, स्रोत

1 उत्तर

AFAIK दिनांक और समय को अलग-अलग रखने वाले दो स्तंभों के बजाय डेटटाइम के प्रकार के अनुसार एक कॉलम का उपयोग करना बेहतर है।

इसके अलावा आप इस कॉलम को दिनांक या समय से संबंधित प्रकार से कास्ट करके पूछ सकते हैं:

DECLARE @ChangeDateTime AS DATETIME = '2012-12-09 16:07:43.937'
SELECT CAST(@ChangeDateTime AS DATE) AS [ChangeDate],
       CAST(@ChangeDateTime AS TIME) AS [ChangeTime]

परिणाम:

ChangeDate      ChangeTime
----------    ----------------
2012-12-09    16:07:43.9370000
0
जोड़ा