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

CAST () का उपयोग करके SQL सर्वर में दिनांक स्वरूपों के बीच कनवर्ट कैसे करें

SQL सर्वर में, आप उपयोग कर सकते हैं CONVERT() दिनांक मान को एक दिनांक डेटा प्रकार से दूसरे (या उस मामले के लिए किसी अन्य डेटा प्रकार के बीच) में कनवर्ट करने के लिए कार्य करता है। हालांकि, डेटा प्रकारों के बीच कनवर्ट करने के लिए टी-एसक्यूएल टूलबॉक्स में यही एकमात्र कार्य नहीं है।

CAST() फ़ंक्शन एएनएसआई एसक्यूएल मानक का हिस्सा है, और यह ज्यादातर चीजें करता है CONVERT() करता है। तो कई मामलों में, आपके पास विकल्प होता है कि आप इनमें से किस फ़ंक्शन का उपयोग करना पसंद करते हैं।

कई डेटाबेस पेशेवर पसंद करते हैं CAST() इस तथ्य के कारण कि यह एएनएसआई एसक्यूएल मानक का हिस्सा है, हालांकि, अन्य लोग CONVERT() पसंद करते हैं टी-एसक्यूएल के कार्यान्वयन द्वारा प्रदान की जाने वाली अतिरिक्त कार्यक्षमता के कारण (जैसे दिनांक शैली प्रदान करने में सक्षम होना)।

किसी भी स्थिति में, यह लेख CAST() . का उपयोग करके विभिन्न दिनांक स्वरूपों के बीच कनवर्ट करने के उदाहरण प्रदान करता है ।

सिंटैक्स

वाक्य रचना इस प्रकार है:

CAST ( expression AS data_type [ ( length ) ] )

इन तर्कों को इस प्रकार परिभाषित किया गया है:

expression
कोई मान्य अभिव्यक्ति।
data_type
लक्ष्य डेटा प्रकार। इसमें शामिल है xmlबिगिंट , और sql_variant . उपनाम डेटा प्रकारों का उपयोग नहीं किया जा सकता है।
length
एक वैकल्पिक पूर्णांक जो लक्ष्य डेटा प्रकार की लंबाई निर्दिष्ट करता है। डिफ़ॉल्ट मान 30 है ।

उदाहरण 1 - SYSDATETIME() को तिथि के अनुसार कास्ट करें

इस उदाहरण में, हम SYSDATETIME() . के साथ वर्तमान दिनांक/समय उत्पन्न करते हैं कार्य करें और वापसी मान को तारीख . के रूप में डालें डेटा प्रकार।

ध्यान दें कि SYSDATETIME() एक datetime2(7) . के रूप में अपना मान उत्पन्न करता है डेटा प्रकार, इसलिए हम इसे उस डेटा प्रकार से दूसरे डेटा प्रकार में परिवर्तित कर रहे हैं।

SELECT 
    SYSDATETIME() AS Original,
    CAST(SYSDATETIME() AS date) AS Converted;

परिणाम:

+-----------------------------+-------------+
| Original                    | Converted   |
|-----------------------------+-------------|
| 2018-06-07 00:15:32.9265884 | 2018-06-07  |
+-----------------------------+-------------+

उदाहरण 2 - SYSDATETIME() को छोटे डेटाटाइम के रूप में कास्ट करें

इस उदाहरण में, हमने तारीख को स्मॉलडेटटाइम . के रूप में कास्ट किया है डेटा प्रकार।

SELECT 
    SYSDATETIME() AS Original,
    CAST(SYSDATETIME() AS smalldatetime) AS Converted;

परिणाम:

+-----------------------------+---------------------+
| Original                    | Converted           |
|-----------------------------+---------------------|
| 2018-06-07 00:16:05.5142017 | 2018-06-07 00:16:00 |
+-----------------------------+---------------------+

उदाहरण 3 - SYSDATETIME() को datetimeoffset के रूप में कास्ट करें

इस उदाहरण में, हमने दिनांक को डेटाटाइमऑफ़सेट . के रूप में डाला है डेटा प्रकार।

SELECT 
    SYSDATETIME() AS Original,
    CAST(SYSDATETIME() AS datetimeoffset) AS Converted;

परिणाम:

+-----------------------------+------------------------------------+
| Original                    | Converted                          |
|-----------------------------+------------------------------------|
| 2018-06-07 10:19:23.9457462 | 2018-06-07 10:19:23.9457462 +00:00 |
+-----------------------------+------------------------------------+

उदाहरण 4 - SYSDATETIME() समय के अनुसार कास्ट करें

आप मूल्य के दिनांक घटक को प्रदर्शित करने तक सीमित नहीं हैं। आप इसे एक समय . के रूप में भी कास्ट कर सकते हैं डेटा प्रकार, ताकि केवल समय घटक लौटाया जा सके। इस तरह:

SELECT 
    SYSDATETIME() AS Original,
    CAST(SYSDATETIME() AS time) AS Converted;

परिणाम:

+-----------------------------+------------------+
| Original                    | Converted        |
|-----------------------------+------------------|
| 2018-06-07 00:20:21.5829364 | 00:20:21.5829364 |
+-----------------------------+------------------+

उदाहरण 5 - SYSDATETIMEOFFSET() को तिथि के अनुसार कास्ट करें

मूल दिनांक/समय मान जेनरेट करने के लिए किसी भिन्न फ़ंक्शन का उपयोग करके यहां एक उदाहरण दिया गया है:

SELECT 
    SYSDATETIMEOFFSET() AS Original,
    CAST(SYSDATETIMEOFFSET() AS date) AS Converted;

परिणाम:

+------------------------------------+----------------------+
| Original                           | Converted            |
|------------------------------------+----------------------|
| 2018-06-07 10:21:16.3617030 +10:00 | 2018-06-07           |
+------------------------------------+----------------------+

उदाहरण 6 - डेटाबेस क्वेरी से कनवर्ट करना

यहां WideWorldImporters के किसी स्तंभ से प्राप्त दिनांक को परिवर्तित करने का एक उदाहरण दिया गया है नमूना डेटाबेस:

USE WideWorldImporters;
SELECT DISTINCT TOP 10 
    LastEditedWhen, 
    CAST(LastEditedWhen AS date) AS 'Converted'
FROM Sales.CustomerTransactions;

परिणाम:

+-----------------------------+-------------+
| LastEditedWhen              | Converted   |
|-----------------------------+-------------|
| 2013-01-02 11:30:00.0000000 | 2013-01-02  |
| 2013-01-03 11:30:00.0000000 | 2013-01-03  |
| 2013-01-04 11:30:00.0000000 | 2013-01-04  |
| 2013-01-05 11:30:00.0000000 | 2013-01-05  |
| 2013-01-06 11:30:00.0000000 | 2013-01-06  |
| 2013-01-08 11:30:00.0000000 | 2013-01-08  |
| 2013-01-09 11:30:00.0000000 | 2013-01-09  |
| 2013-01-10 11:30:00.0000000 | 2013-01-10  |
| 2013-01-11 11:30:00.0000000 | 2013-01-11  |
| 2013-01-12 11:30:00.0000000 | 2013-01-12  |
+-----------------------------+-------------+

मैंने एक पोस्ट भी लिखा है जो दिखाता है कि CONVERT() . का उपयोग करके दिनांक स्वरूपों के बीच कैसे परिवर्तित किया जाए ऊपर के समान उदाहरणों का उपयोग करके कार्य करें।


  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 सर्वर बल्क इंसर्ट

  3. टेबल में प्राथमिक कुंजी के लिए सबसे अच्छा अभ्यास क्या है?

  4. SQL सर्वर के लिए Linux पर चल रहे एप्लिकेशन को Amazon रिलेशनल डेटाबेस सर्विसेज (RDS) से कनेक्ट करना

  5. Linux से Microsoft SQL सर्वर तक पहुँचने के कुछ तरीके क्या हैं?