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

CONVERT () का उपयोग करके SQL सर्वर में दिनांक/समय मान को स्ट्रिंग में कैसे परिवर्तित करें

SQL सर्वर का उपयोग करते समय, आप CONVERT() का उपयोग करके दिनांक/समय मान को एक स्ट्रिंग में परिवर्तित कर सकते हैं समारोह। यह फ़ंक्शन आपको विभिन्न डेटा प्रकारों के बीच कनवर्ट करने की अनुमति देता है।

इस लेख में, हम विभिन्न दिनांक/समय डेटा प्रकारों के बीच एक varchar . में कनवर्ट करेंगे या nvarchar स्ट्रिंग।

इस फ़ंक्शन के बारे में एक अच्छी बात यह है कि यह आपको उस शैली को निर्दिष्ट करने की अनुमति देता है जिसमें दिनांक वापस किया जाएगा। उदाहरण के लिए, आप निर्दिष्ट कर सकते हैं कि क्या इसे mm/dd/yyyy के रूप में वापस किया गया है। , yyyy.mm.dd , सोम दिन, वर्ष , आदि। आप यह भी निर्दिष्ट कर सकते हैं कि क्या समय घटक लौटाया गया है और इसे कैसे स्टाइल किया गया है।

सिंटैक्स

सबसे पहले, यहां बताया गया है कि आधिकारिक सिंटैक्स कैसा होता है:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

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

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

मूल उदाहरण

इस उदाहरण में, हम एक वैरिएबल घोषित करते हैं और GETDATE() . से एक मान असाइन करते हैं समारोह। फिर हम मान वापस कर देते हैं, और हम उस मान को varchar . में भी बदल देते हैं और उसे वापस कर दें:

DECLARE @date datetime = GETDATE();
SELECT
    @date AS Original,
    CONVERT(varchar, @date) AS Converted;

परिणाम:

+-------------------------+---------------------+
| Original                | Converted           |
|-------------------------+---------------------|
| 2018-06-07 03:08:21.997 | Jun  7 2018  3:08AM |
+-------------------------+---------------------+

रिटर्न डेटा प्रकार की डिफ़ॉल्ट लंबाई 30 . है , इसलिए भले ही हमने केवल varchar . निर्दिष्ट किया हो , यह परिणाम को varchar(30) . के रूप में लौटाएगा ।

इस उदाहरण में, हमने उस शैली को इंगित करने के लिए तीसरा तर्क प्रदान नहीं किया जिसमें हम चाहते हैं कि वह वापस आए। इसलिए, इसे डेटाटाइम के लिए डिफ़ॉल्ट शैली का उपयोग करके परिवर्तित किया गया है। और स्मॉलडेटटाइम डेटा प्रकार, जो 0 . है या 100 (नीचे शैलियों पर अधिक)।

शैली निर्दिष्ट करना

आप उस शैली को निर्दिष्ट करने के लिए तीसरे तर्क का उपयोग कर सकते हैं जिस पर वापसी मूल्य लगेगा:

DECLARE @date datetime = GETDATE();
SELECT
    @date AS Original,
    CONVERT(varchar(30), @date, 102) AS Converted;

परिणाम:

+-------------------------+-------------+
| Original                | Converted   |
|-------------------------+-------------|
| 2018-06-07 03:42:33.840 | 2018.06.07  |
+-------------------------+-------------+

इस उदाहरण में, हमने 102 . की शैली निर्दिष्ट की है , जो चार अंकों वाले वर्ष घटक के साथ दिनांक प्रदर्शित करने के लिए एएनएसआई मानक है।

इसे दो अंकों वाले वर्ष के साथ ANSI प्रारूप में बदलने के लिए, हम 2 की शैली का उपयोग कर सकते हैं :

DECLARE @date datetime = GETDATE();
SELECT
    @date AS Original,
    CONVERT(varchar(30), @date, 2) AS Converted;

परिणाम:

+-------------------------+-------------+
| Original                | Converted   |
|-------------------------+-------------|
| 2018-06-07 03:44:52.433 | 18.06.07    |
+-------------------------+-------------+

आप CONVERT() पर दिनांक/समय से लेकर SQL सर्वर में स्ट्रिंग उदाहरणों तक के और उदाहरण देख सकते हैं।


  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. अल्पविराम से अलग किए गए मानों के आधार पर तालिका में शामिल होना

  3. मैं संग्रहीत प्रक्रिया में पैरामीटर के रूप में सूची कैसे पास करूं?

  4. SQL सर्वर (T-SQL) में एक विभाजन को स्विच-आउट करें

  5. SQL सर्वर डेटाबेस (T-SQL उदाहरण) के लिए वर्तमान पंक्ति संस्करण मान कैसे लौटाएं