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

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

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

इस लेख में इसके उपयोग को प्रदर्शित करने के लिए उदाहरण हैं।

सिंटैक्स

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

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

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

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

उदाहरण 1 - दिनांक डेटा प्रकार में कनवर्ट करें

इस उदाहरण में, हम स्ट्रिंग को एक तारीख . में बदलते हैं डेटा प्रकार (हम इसे date . का उपयोग करके निर्दिष्ट करते हैं पहले तर्क के रूप में)।

SELECT CONVERT(date, '20 Dec 2018') AS Result;

परिणाम:

+------------+
| Result     |
|------------|
| 2018-12-20 |
+------------+

बेशक, स्ट्रिंग को ऐसी शैली में होना चाहिए जो निर्दिष्ट डेटा प्रकार में परिवर्तित होने में सक्षम हो, अन्यथा आपको एक त्रुटि मिलेगी:

SELECT CONVERT(date, 'Homer') AS Result;

परिणाम:

Conversion failed when converting date and/or time from character string.

उदाहरण 2 - डेटाटाइम डेटा प्रकार में कनवर्ट करें

इस उदाहरण में हम डेटाटाइम . में कनवर्ट करते हैं डेटा प्रकार:

SELECT CONVERT(datetime, '20 Dec 2018') AS Result;

परिणाम:

+-------------------------+
| Result                  |
|-------------------------|
| 2018-12-20 00:00:00.000 |
+-------------------------+

आप समय भी निर्दिष्ट कर सकते हैं:

SELECT CONVERT(datetime, '2pm 20 Dec 2018') AS Result;

परिणाम:

+-------------------------+
| Result                  |
|-------------------------|
| 2018-12-20 14:00:00.000 |
+-------------------------+

उदाहरण 3 - डेटाटाइम 2 डेटा प्रकार में कनवर्ट करें

इस उदाहरण में हम datetime2 . में कनवर्ट करते हैं डेटा प्रकार:

SELECT CONVERT(datetime2, '20 Dec 2018') AS Result;

परिणाम:

+-----------------------------+
| Result                      |
|-----------------------------|
| 2018-12-20 00:00:00.0000000 |
+-----------------------------+

उदाहरण 4 - डेटाटाइम ऑफ़सेट डेटा प्रकार में कनवर्ट करें

इस उदाहरण में हम डेटाटाइमऑफ़सेट . में कनवर्ट करते हैं डेटा प्रकार:

SELECT CONVERT(datetimeoffset, '20 Dec 2018') AS Result;

परिणाम:

+------------------------------------+
| Result                             |
|------------------------------------|
| 2018-12-20 00:00:00.0000000 +00:00 |
+------------------------------------+

उदाहरण 5 - छोटे डेटा प्रकार में कनवर्ट करें

इस उदाहरण में हम स्मॉलडेटटाइम . में कनवर्ट करते हैं डेटा प्रकार:

SELECT CONVERT(smalldatetime, '20 Dec 2018') AS Result;

परिणाम:

+---------------------+
| Result              |
|---------------------|
| 2018-12-20 00:00:00 |
+---------------------+

उदाहरण 6 - समय डेटा प्रकार में कनवर्ट करें

इस उदाहरण में हम समय . में रूपांतरित होते हैं डेटा प्रकार:

SELECT CONVERT(time, '20 Dec 2018') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 00:00:00 |
+----------+

उस स्थिति में, हमने एक तिथि निर्दिष्ट की थी, लेकिन एक समय नहीं, इसलिए यह 00:00:00 के रूप में वापस आ गया। . यहां एक और उदाहरण दिया गया है जहां हम वास्तव में एक समय निर्दिष्ट करते हैं:

SELECT CONVERT(time, '2pm') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 14:00:00 |
+----------+

लेकिन अगर हम तारीख जोड़ते हैं, तो हमें एक त्रुटि मिलती है (पहले के उदाहरण के विपरीत जब हम डेटाटाइम में परिवर्तित होते हैं ):

SELECT CONVERT(time, '2pm 20 Dec 2018') AS Result;

परिणाम:

Conversion failed when converting date and/or time from character string.

तो इस मामले में आपको डेटाटाइम . में कनवर्ट करना होगा या स्मॉलडेटटाइम

उदाहरण 7 - तारीख को छोड़ना

यदि आप दिनांक को डेटाटाइम . में कनवर्ट करते समय छोड़ देते हैं या स्मॉलडेटटाइम डेटा प्रकार, यह लौटाएगा 1900-01-01 तिथि के अनुसार:

SELECT CONVERT(datetime, '2pm') AS Result;

परिणाम:

+-------------------------+
| Result                  |
|-------------------------|
| 1900-01-01 14:00:00.000 |
+-------------------------+

यदि आपको किसी स्ट्रिंग को दिनांक में बदलने का प्रयास करते समय कोई त्रुटि मिलती है, तो PARSE() आज़माएं इसके बजाय कार्य करें। यह कुछ मामलों में काम करेगा जहां CONVERT() नहीं।

आप CAST() को भी देखना चाहेंगे फ़ंक्शन, जो डेटा प्रकारों के बीच कनवर्ट करने का एक एएनएसआई एसक्यूएल मानक तरीका है। CAST() . का उपयोग करके किसी स्ट्रिंग को दिनांक/समय में कनवर्ट करने का तरीका यहां दिया गया है ।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाटाइम 2 डेटा प्रकार को डेटाटाइम डेटा प्रकार में बदलने से परिणाम सीमा से बाहर हो जाते हैं

  2. शहर x और y के बीच कुल यात्रा घंटों की गणना कैसे करें और इसके विपरीत

  3. 32-बिट एक्सेल और 64-बिट एसक्यूएल सर्वर

  4. SQL सर्वर में दिनांक से दिन का नाम प्राप्त करने के 3 तरीके (T-SQL)

  5. आप टेबल-वैल्यू फ़ंक्शन का उपयोग कब करेंगे?