Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर (T-SQL) में 'दिनांक' को 'डेटाटाइम' में बदलने के उदाहरण

इस लेख में तारीख . को परिवर्तित करने के उदाहरण हैं एक डेटाटाइम . के लिए मान SQL सर्वर में मान।

जब आप किसी तारीख . को रूपांतरित करते हैं डेटाटाइम . के लिए मान , अतिरिक्त जानकारी को मूल्य में जोड़ा जाता है। ऐसा इसलिए है क्योंकि डेटाटाइम डेटा प्रकार में दिनांक और समय दोनों की जानकारी होती है। तारीख दूसरी ओर, डेटा प्रकार में केवल तारीख की जानकारी होती है।

उदाहरण 1 - निहित रूपांतरण

यहां तारीख . के बीच निहित रूपांतरण का एक उदाहरण दिया गया है और डेटाटाइम .

DECLARE @thedate date, @thedatetime datetime
SET @thedate = '2020-12-01'
SET @thedatetime = @thedate
SELECT 
  @thedate AS 'date',
  @thedatetime AS 'datetime';

परिणाम:

+------------+-------------------------+
| date       | datetime                |
|------------+-------------------------|
| 2020-12-01 | 2020-12-01 00:00:00.000 |
+------------+-------------------------+

यह एक अंतर्निहित रूपांतरण है क्योंकि हम इसे स्पष्ट रूप से परिवर्तित करने के लिए रूपांतरण फ़ंक्शन (जैसे नीचे वाले) का उपयोग नहीं कर रहे हैं। इस मामले में, जब हम तिथि . असाइन करने का प्रयास करते हैं, तो SQL सर्वर पर्दे के पीछे एक अंतर्निहित रूपांतरण करता है एक डेटाटाइम . के लिए मान चर।

हम देख सकते हैं कि तारीख चर में केवल दिनांक जानकारी होती है, जबकि, डेटाटाइम चर में दिनांक और समय दोनों की जानकारी होती है।

जब आप तारीख . के बीच कनवर्ट करते हैं और डेटाटाइम , समय घटक 00:00:00.000 . पर सेट है . ऐसा इसलिए है क्योंकि दिनांक मान में कोई समय की जानकारी नहीं होती है, इसलिए SQL सर्वर के पास यह जानने का कोई तरीका नहीं है कि आप किस समय चाहते हैं (यदि कोई हो)।

उदाहरण 2 - समय बदलें

यदि आपको समय बदलने की आवश्यकता है (लेकिन वही तिथि रखें), तो आप DATEADD() का उपयोग कर सकते हैं ऐसा करने के लिए कार्य करें।

DECLARE @thedate date, @thedatetime datetime
SET @thedate = '2020-12-01'
SET @thedatetime = @thedate
SET @thedatetime = DATEADD(hour, 8, @thedatetime)
SELECT 
  @thedate AS 'date',
  @thedatetime AS 'datetime';

परिणाम:

+------------+-------------------------+
| date       | datetime                |
|------------+-------------------------|
| 2020-12-01 | 2020-12-01 08:00:00.000 |
+------------+-------------------------+

उदाहरण 3 - CAST() का उपयोग करके स्पष्ट रूपांतरण

यहां स्पष्ट रूपांतरण का एक उदाहरण दिया गया है। इस मामले में, मैं CAST() . का उपयोग करता हूं सीधे SELECT . के अंदर काम करता है तारीख . के बीच स्पष्ट रूप से रूपांतरित होने वाला कथन और डेटाटाइम .

DECLARE @thedate date
SET @thedate = '2020-12-01'
SELECT 
  @thedate AS 'date',
  CAST(@thedate AS datetime) AS 'datetime';

परिणाम:

+------------+-------------------------+
| date       | datetime                |
|------------+-------------------------|
| 2020-12-01 | 2020-12-01 00:00:00.000 |
+------------+-------------------------+

तो हम निहित रूपांतरण के समान परिणाम प्राप्त करते हैं।

हम समय को इस तरह भी समायोजित कर सकते हैं:

DECLARE @thedate date
SET @thedate = '2020-12-01'
SELECT 
  @thedate AS 'date',
  DATEADD(hour, 8, CAST(@thedate AS datetime)) AS 'datetime';

परिणाम:

+------------+-------------------------+
| date       | datetime                |
|------------+-------------------------|
| 2020-12-01 | 2020-12-01 08:00:00.000 |
+------------+-------------------------+

उदाहरण 4 - CONVERT() का उपयोग करके स्पष्ट रूपांतरण

यहां CONVERT() . का उपयोग करके स्पष्ट रूपांतरण का एक उदाहरण दिया गया है CAST() के बजाय फ़ंक्शन करें .

DECLARE @thedate date
SET @thedate = '2020-12-01'
SELECT 
  @thedate AS 'date',
  CONVERT(datetime, @thedate) AS 'datetime';

परिणाम:

+------------+-------------------------+
| date       | datetime                |
|------------+-------------------------|
| 2020-12-01 | 2020-12-01 00:00:00.000 |
+------------+-------------------------+

और समय को एडजस्ट करना:

DECLARE @thedate date
SET @thedate = '2020-12-01'
SELECT 
  @thedate AS 'date',
  DATEADD(hour, 8, CONVERT(datetime, @thedate)) AS 'datetime';

परिणाम:

+------------+-------------------------+
| date       | datetime                |
|------------+-------------------------|
| 2020-12-01 | 2020-12-01 08:00:00.000 |
+------------+-------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में डेटाबेस मेल को कॉन्फ़िगर करना

  2. SQL सर्वर (T-SQL) में डेटाबेस मेल प्रोफाइल की सूची लौटाएं

  3. SQL सर्वर में 'डेटाटाइम' को 'दिनांक' में बदलें (T-SQL उदाहरण)

  4. मैं टी-एसक्यूएल चयन में प्रत्येक पंक्ति के लिए यादृच्छिक संख्या कैसे उत्पन्न करूं?

  5. SQL सर्वर लिंक्ड सर्वर उदाहरण क्वेरी