मुझे पता है कि यह एक दुष्ट पुरानी पोस्ट है जिसमें बहुत सारे जवाब हैं लेकिन बहुत से लोग सोचते हैं कि वे चीजों को तोड़ने के लिए या उन्हें वापस एक साथ रखने की आवश्यकता है या वे जोर देकर कहते हैं कि ओपी मूल के रूपांतरण के लिए कोई तरीका नहीं है। ।
एक ही प्रश्न के साथ दूसरों को एक आसान उत्तर देने के लिए समीक्षा करने और उम्मीद करने के लिए, ओपी ने पूछा कि '10 / 15/2008 10:06:32 PM 'को एक DATETIME में कैसे परिवर्तित किया जाए। अब, SQL सर्वर में अस्थायी रूपांतरण के लिए कुछ भाषा निर्भरताएं हैं, लेकिन यदि भाषा अंग्रेजी या कुछ इसी तरह की है, तो यह एक साधारण समस्या बन जाती है ... बस रूपांतरण करें और प्रारूप के बारे में चिंता न करें। उदाहरण के लिए (और आप CONVERT या CAST का उपयोग कर सकते हैं) ...
SELECT UsingCONVERT = CONVERT(DATETIME,'10/15/2008 10:06:32 PM')
,UsingCAST = CAST('10/15/2008 10:06:32 PM' AS DATETIME)
;
... और जो अनुवर्ती उत्तर उत्पन्न करता है, दोनों सही हैं।
जैसे वे टीवी विज्ञापनों पर कहते हैं, "लेकिन रुको! अभी तक ऑर्डर मत करो! कोई अतिरिक्त लागत के लिए, यह अधिक नहीं कर सकता!"
आइए DATETIME के साथ लौकिक रूपांतरणों की वास्तविक शक्ति देखें और DATETIME2 नामक गलती की आंशिक रूप से जांच करें। DATETIME ऑटो-जादुई तरीके से संभाल सकते हैं और DATETIME2 नहीं कर सकते कि अजीब प्रारूपों की जाँच करें। निम्नलिखित कोड चलाएँ और देखें ...
--===== Set the language for this example.
SET LANGUAGE ENGLISH --Same a US-English
;
--===== Use a table constructor as if it were a table for this example.
SELECT *
,DateTimeCONVERT = TRY_CONVERT(DATETIME,StringDT)
,DateTimeCAST = TRY_CAST(StringDT AS DATETIME)
,DateTime2CONVERT = TRY_CONVERT(DATETIME2,StringDT)
,DateTime2CAST = TRY_CAST(StringDT AS DATETIME2)
FROM (
VALUES
('Same Format As In The OP' ,'12/16/2001 01:51:01 PM')
,('Almost Normal' ,'16 December, 2001 1:51:01 PM')
,('More Normal' ,'December 16, 2001 01:51:01 PM')
,('Time Up Front + Spaces' ,' 13:51:01 16 December 2001')
,('Totally Whacky Format #01' ,' 16 13:51:01 December 2001')
,('Totally Whacky Format #02' ,' 16 December 13:51:01 2001 ')
,('Totally Whacky Format #03' ,' 16 December 01:51:01 PM 2001 ')
,('Totally Whacky Format #04' ,' 2001 16 December 01:51:01 PM ')
,('Totally Whacky Format #05' ,' 2001 December 01:51:01 PM 16 ')
,('Totally Whacky Format #06' ,' 2001 16 December 01:51:01 PM ')
,('Totally Whacky Format #07' ,' 2001 16 December 13:51:01 PM ')
,('Totally Whacky Format #08' ,' 2001 16 13:51:01 PM December ')
,('Totally Whacky Format #09' ,' 13:51:01 PM 2001.12/16 ')
,('Totally Whacky Format #10' ,' 13:51:01 PM 2001.December/16 ')
,('Totally Whacky Format #11' ,' 13:51:01 PM 2001.Dec/16 ')
,('Totally Whacky Format #12' ,' 13:51:01 PM 2001.Dec.16 ')
,('Totally Whacky Format #13' ,' 13:51:01 PM 2001/Dec.16')
,('Totally Whacky Format #14' ,' 13:51:01 PM 2001 . 12/16 ')
,('Totally Whacky Format #15' ,' 13:51:01 PM 2001 . December / 16 ')
,('Totally Whacky Format #16' ,' 13:51:01 PM 2001 . Dec / 16 ')
,('Totally Whacky Format #17' ,' 13:51:01 PM 2001 . Dec . 16 ')
,('Totally Whacky Format #18' ,' 13:51:01 PM 2001 / Dec . 16')
,('Totally Whacky Format #19' ,' 13:51:01 PM 2001 . Dec - 16 ')
,('Totally Whacky Format #20' ,' 13:51:01 PM 2001 - Dec - 16 ')
,('Totally Whacky Format #21' ,' 13:51:01 PM 2001 - Dec . 16')
,('Totally Whacky Format #22' ,' 13:51:01 PM 2001 - Dec / 16 ')
,('Totally Whacky Format #23' ,' 13:51:01 PM 2001 / Dec - 16')
,('Just the year' ,' 2001 ')
,('YYYYMM' ,' 200112 ')
,('YYYY MMM' ,'2001 Dec')
,('YYYY-MMM' ,'2001-Dec')
,('YYYY . MMM' ,'2001 . Dec')
,('YYYY / MMM' ,'2001 / Dec')
,('YYYY - MMM' ,'2001 / Dec')
,('Forgot The Spaces #1' ,'2001December26')
,('Forgot The Spaces #2' ,'2001Dec26')
,('Forgot The Spaces #3' ,'26December2001')
,('Forgot The Spaces #4' ,'26Dec2001')
,('Forgot The Spaces #5' ,'26Dec2001 13:51:01')
,('Forgot The Spaces #6' ,'26Dec2001 13:51:01PM')
,('Oddly, this doesn''t work' ,'2001-12')
,('Oddly, this doesn''t work' ,'12-2001')
) v (Description,StringDT)
;
तो, हाँ ... SQL सर्वर वास्तव में अजीब-ओ लौकिक प्रारूपों के सभी प्रकार से निपटने का एक सुंदर लचीला तरीका है और कोई विशेष हैंडलिंग की आवश्यकता नहीं है। हमें "पीएम" को हटाने की भी आवश्यकता नहीं थी जो 24 घंटे में जोड़े गए थे। यह "पीएफएम" (प्योर फ्रीकिन मैजिक) है।
LANGUAGE के आधार पर चीजें थोड़ी भिन्न होंगी, यह है कि आपने अपने सर्वर के लिए चयन किया है, लेकिन इसमें से बहुत सारे को किसी भी तरह से संभाला जाएगा।
और ये "ऑटो-मैजिक" रूपांतरण कुछ नया नहीं है। वे एक वास्तविक लंबा रास्ता तय करते हैं।