2009-07-16 19 views
38

कनवर्ट करना यह पूछ नहीं रहा है कि this question जैसे एमएसएसएलएल में एक मनमानी स्ट्रिंग को डेटाटाइम कैसे परिवर्तित करें।एसक्यूएल सर्वर स्ट्रिंग को डेटाटाइम

मैं स्ट्रिंग प्रारूप को नियंत्रित कर सकता हूं लेकिन मैं जानना चाहता हूं कि एमएसएसएलएल सिंटैक्स दिनांक स्ट्रिंग का उपयोग करके डेटाटाइम फ़ील्ड को अपडेट करने के लिए क्या है।

उत्तर

17

उदाहरण के लिए आप उपयोग कर सकते हैं

update tablename set datetimefield='19980223 14:23:05' 
update tablename set datetimefield='02/23/1998 14:23:05' 
update tablename set datetimefield='1998-12-23 14:23:05' 
update tablename set datetimefield='23 February 1998 14:23:05' 
update tablename set datetimefield='1998-02-23T14:23:05' 

आप के बाद से इस भाषा निर्भर साल पहले निर्दिष्ट नहीं है जब हो जाएगा दिन/माह आदेश के सावधान रहने की जरूरत है। यदि आप वर्ष पहले निर्दिष्ट करते हैं तो कोई समस्या नहीं है; तिथि आदेश हमेशा वर्ष-दर-दिन होगा।

+3

yyyy-MM-dd :) – Thorarin

+5

के लिए +1 - 1। साल पहले वाई-एम-डी की गारंटी नहीं देता है। सेट भाषा ब्रिटिश जाओ सीएएसटी ('200 9-02-28' एएस डेटाटाइम), सीएएसटी ('200-02-28 01:02:03' एएस डेटाटाइम) - दोनों – gbn

+2

विफल हो जाएं आपको "तिथि" का उपयोग करना होगा और Yyyy-mm-dd काम से पहले SQL Server 2008। – gbn

97
UPDATE MyTable SET MyDate = CONVERT(datetime, '2009/07/16 08:28:01', 120) 

कास्ट की पूरी चर्चा के लिए और अलग अलग तिथि स्वरूपण विकल्प सहित, कनवर्ट करते हैं, को देखने के लिए नीचे दिए गए MSDN लाइब्रेरी लिंक:

https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql

+1

+1। बहुत उपयोगी। –

+1

+1 जिस प्रश्न से मैं खोज रहा था, उसका जवाब देने के लिए +1, भले ही यह ओपी का सवाल न हो :) – Kalessin

संबंधित मुद्दे