इस लेख में छोटे दिनांक समय . को रूपांतरित करने के उदाहरण हैं तारीख . के लिए मान SQL सर्वर में मान।
स्मॉलडेटटाइम . को रूपांतरित करने के लाभों में से एक तारीख . के लिए मान यह है कि आप भंडारण आकार को 4 बाइट्स से घटाकर 3 बाइट्स कर देते हैं। हालांकि, आप मूल्य से समय घटक खो देते हैं, इसलिए आप यह रूपांतरण केवल तभी करेंगे जब आपको समय की आवश्यकता न हो।
स्मॉलडेटटाइम डेटा प्रकार दिनांक और समय दोनों। इसका सेकंड घटक हमेशा शून्य (:00) पर सेट होता है, और इसमें कोई आंशिक सेकंड नहीं होता है। इसकी सटीकता निकटतम मिनट तक है। इसका स्टोरेज साइज 4 बाइट्स है।
तारीख दूसरी ओर डेटा प्रकार, केवल दिनांक शामिल है। इसकी सटीकता निकटतम दिन तक है। इसका स्टोरेज साइज 3 बाइट्स है।
तो स्पष्ट होने के लिए, जब आप एक स्मॉलडेटटाइम . को रूपांतरित करते हैं तारीख . के लिए मान , वर्ष, महीना और दिन कॉपी किया जाता है। समय कॉपी नहीं किया गया है।
उदाहरण 1 - निहित रूपांतरण
यहां स्मॉलडेटटाइम . के बीच निहित रूपांतरण का एक उदाहरण दिया गया है और तारीख .
DECLARE @thesmalldatetime smalldatetime, @thedate date; SET @thesmalldatetime = '2025-05-21 10:15:30'; SET @thedate = @thesmalldatetime; SELECT @thesmalldatetime AS 'smalldatetime', @thedate AS 'thedate';
परिणाम:
+---------------------+------------+ | smalldatetime | thedate | |---------------------+------------| | 2025-05-21 10:16:00 | 2025-05-21 | +---------------------+------------+
यह एक अंतर्निहित रूपांतरण है क्योंकि हम इसे स्पष्ट रूप से परिवर्तित करने के लिए रूपांतरण फ़ंक्शन (जैसे नीचे वाले) का उपयोग नहीं कर रहे हैं। इस मामले में, जब हम smalldatetime असाइन करने का प्रयास करते हैं, तो SQL सर्वर पर्दे के पीछे एक अंतर्निहित रूपांतरण करता है। तारीख . के लिए मान चर।
इस उदाहरण में हम देख सकते हैं कि smalldatetime . का दिनांक भाग मान को तारीख . पर कॉपी किया जाता है मान, और यह कि समय की प्रतिलिपि नहीं बनाई गई है।
उदाहरण 2 - CAST() का उपयोग करके स्पष्ट रूपांतरण
यहां स्पष्ट रूपांतरण का एक उदाहरण दिया गया है। इस मामले में, मैं CAST()
. का उपयोग करता हूं सीधे SELECT
. के अंदर काम करता है स्मॉलडेटटाइम . के बीच स्पष्ट रूप से कनवर्ट करने के लिए स्टेटमेंट और तारीख .
DECLARE @thesmalldatetime smalldatetime; SET @thesmalldatetime = '2025-05-21 10:15:30'; SELECT @thesmalldatetime AS 'thesmalldatetime', CAST(@thesmalldatetime AS date) AS 'date';
परिणाम:
+---------------------+------------+ | smalldatetime | thedate | |---------------------+------------| | 2025-05-21 10:16:00 | 2025-05-21 | +---------------------+------------+
उदाहरण 3 - CONVERT() का उपयोग करके स्पष्ट रूपांतरण
यहां CONVERT()
. का उपयोग करके स्पष्ट रूपांतरण का एक उदाहरण दिया गया है CAST()
के बजाय फ़ंक्शन करें .
DECLARE @thesmalldatetime smalldatetime; SET @thesmalldatetime = '2025-05-21 10:15:30'; SELECT @thesmalldatetime AS 'thesmalldatetime', CONVERT(date, @thesmalldatetime) AS 'date';
परिणाम:
+---------------------+------------+ | smalldatetime | thedate | |---------------------+------------| | 2025-05-21 10:16:00 | 2025-05-21 | +---------------------+------------+