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

SQL सर्वर में एक स्ट्रिंग से समय डेटा कैसे निकालें या कनवर्ट करें

समस्या:

आप दिनांक और समय वाली स्ट्रिंग को SQL सर्वर में TIME मान में कनवर्ट करना चाहते हैं।

हमें एक स्ट्रिंग को एक कार्यदिवस के नाम, दिनांक और समय वाली एक TIME मान में बदलने की आवश्यकता है।

समाधान 1:

हम PARSE() . का उपयोग करेंगे समारोह। यहां वह प्रश्न है जो आप लिखेंगे:

SELECT 
  PARSE('Sunday, 2 February 2020 11:23:11.1134505' AS TIME ) 
  AS time_value;

ये रहा परिणाम:

11:23:11.1134505

चर्चा:

PARSE() का प्रयोग करें कार्यदिवस के नाम, दिनांक और समय वाली स्ट्रिंग को TIME डेटा प्रकार में बदलने के लिए कार्य करता है। यह फ़ंक्शन स्ट्रिंग को कनवर्ट करने के लिए लेता है, कीवर्ड AS, और एक नया डेटा प्रकार (हमारे उदाहरण में, TIME ) स्ट्रिंग में एक मान होना चाहिए जो इस डेटा प्रकार का प्रतिनिधित्व करता है। हमारे उदाहरण में, स्ट्रिंग 'February 2, 2020 11:23:11.1134505' एक समय मूल्य संग्रहीत करता है।

ध्यान दें कि समय इस स्ट्रिंग का केवल एक हिस्सा है, जिसमें सप्ताह के दिन का नाम भी शामिल है। CONVERT() का उपयोग न करें या CAST() इस मामले में कार्य; वे एक TIME डेटा प्रकार भी लौटाते हैं, लेकिन सप्ताह के दिन के बिना।

यदि आप किसी ऐसी बोली जाने वाली भाषा का उपयोग कर रहे हैं जो सर्वर भाषा से भिन्न है, तो उपयोग करने वाला कीवर्ड और उपयुक्त संस्कृति कोड शामिल करें। पोलिश भाषा के लिए, आप लिखेंगे:

SELECT 
  PARSE('Niedziela, 2 lutego 2020 11:23:11.1134505' AS TIME USING 'pl-PL' ) 
  AS time_value;

संस्कृति पैरामीटर मानों के बारे में अधिक जानकारी के लिए, आधिकारिक SQL सर्वर दस्तावेज़ देखें।

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

समाधान 2:

SELECT 
  CAST('2 February 2020 11:23:11.1134505' AS TIME ) 
  AS time_value;

ये रहा परिणाम:

11:23:11.1134505

कनवर्ट करने के लिए दिनांक और समय वाली स्ट्रिंग T-SQL दिनांक और समय डेटा प्रकार के प्रारूप में होनी चाहिए। आप SQL सर्वर दस्तावेज़ में और अधिक पढ़ सकते हैं।

CAST() फ़ंक्शन ANSI SQL मानक है और इसका प्रदर्शन CONVERT() . से बेहतर है या PARSE() .

अंत में, आप CONVERT() . का भी उपयोग कर सकते हैं समारोह। अगला उदाहरण देखें।

समाधान 3:

  SELECT 
  CONVERT(TIME, '2 Feb, 2020 11:23:11.1134505') 
  AS time_value;

परिणाम:

11:23:11.1134505

CONVERT() फ़ंक्शन तीन तर्क लेता है:नया डेटा प्रकार, कनवर्ट करने के लिए स्ट्रिंग, और (वैकल्पिक) वांछित प्रारूप। हालांकि, आपको इस फ़ंक्शन का उपयोग केवल तभी करना चाहिए जब आपको यह निर्दिष्ट करने की आवश्यकता हो कि दिनांक और समय डेटा को कैसे स्वरूपित किया जाना चाहिए, क्योंकि इसका प्रदर्शन 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.0:एक बार सार बेस क्लास को कैसे कॉन्फ़िगर करें

  2. SQL सर्वर में किसी स्ट्रिंग की सभी घटनाओं को किसी अन्य स्ट्रिंग से कैसे बदलें - REPLACE ()

  3. क्लाइंट पर sql सर्वर डेटाबेस के साथ एप्लिकेशन को कैसे परिनियोजित करें

  4. SQL सर्वर 2008 लंबवत डेटा क्षैतिज करने के लिए

  5. SQL सर्वर रोलअप के साथ योग - लेकिन केवल अंतिम सारांश?