2011-01-24 13 views
17

मुझे यूनिक्स टाइमस्टैम्प को एसक्यूएल सर्वर टाइमस्टैम्प में परिवर्तित करने में समस्या है।एसक्यूएल सर्वर (मानव पठनीय प्रारूप) में एपोक टाइमस्टैम्प को परिवर्तित करना

मेरे पास एक्सेल शीट में एक डेटा है और मैं एक उपकरण के माध्यम से उस डेटा को आयात करूंगा। तो मैं एक कोड या वाक्यविन्यास की तलाश में हूं जो कि एपोक टाइमस्टैम्प को एसक्यूएल सर्वर टाइमस्टैम्प में परिवर्तित कर सकता है।

मेरे पास एक ही प्रारूप के साथ 3 अलग-अलग कॉलम हैं। मैं उन कॉलम में मान कैसे बदल सकता हूं।

उदाहरण के लिए:

  • युग टाइमस्टैम्प --- 1291388960
  • एसक्यूएल सर्वर टाइमस्टैम्प --- 2010-12-03 15: 09: 20,000

उत्तर

17

मेरे पास एक ही प्रारूप के साथ 3 अलग-अलग कॉलम हैं। मैं उन कॉलम में मान कैसे बदल सकता हूं।

किसी तालिका में 3 कॉलम अपडेट करने के लिए एक bigint के बाद से युग (1 जनवरी 1970) स्तंभ नाम के साथ करने के लिए DATEADD सेकंड जोड़ी कर सकते हैं, यानी

update tbl set 
    datetimecol1 = dateadd(s, epochcol1, '19700101'), 
    datetimecol2 = dateadd(s, epochcol2, '19700101'), 
    datetimecol3 = dateadd(s, epochcol3, '19700101') 

आप जगह में अद्यतन नहीं कर सकते कॉलम एक डेटाटाइम कॉलम भी नहीं हो सकता है। आपको उन्हें 3 अन्य कॉलम में अपडेट करना होगा।

+0

उत्तर के लिए धन्यवाद। मैं इसकी प्रशंसा करता हूँ.... – Shahsra

13

उपयोग DATEADD function:

SELECT DATEADD(ss, 1291388960, '19700101') 

... 1 जनवरी 1 9 70 की तारीख निर्दिष्ट करना। इस उदाहरण में, यह YYYYMMDD f में प्रदान किया गया था ormat।

DATEADD एक डेटाटाइम डेटा प्रकार लौटाएगा, इसलिए यदि आपके पास तालिका & कॉलम स्थापित है - तो आप अपनी आवश्यकताओं के आधार पर फ़ंक्शन का उपयोग INSERT/UPDATE में कर सकते हैं। विवरण प्रदान करें, और मैं स्पष्ट कर दूंगा। एक बार आपके पास काम करने के लिए डेटाटाइम हो जाने के बाद, आप TSQL में दिनांक को प्रारूपित करने के लिए CAST or CONVERT का उपयोग कर सकते हैं।

+0

मुझे वाक्यविन्यास देने के लिए धन्यवाद लेकिन मेरे पास लगभग 20 मिलियन रिकॉर्ड हैं ..... मैं उन सभी को कैसे परिवर्तित कर सकता हूं? – Shahsra

+0

@ शाहसरा: आप जो करना चाहते हैं उस पर निर्भर करता है - यदि यह अस्थायी है, तो एक temp तालिका का उपयोग करें। अन्यथा, आपको डेटा को डंप करने के लिए कॉलम की आवश्यकता है - या तो मौजूदा तालिका में कॉलम जोड़कर, या मूल से क्लोन की गई एक नई तालिका। आपको विवरण देना होगा। –

+0

बहुत बहुत धन्यवाद ... मुझे समाधान मिला है मैंने पहले ही बदलाव किए हैं। आपकी मदद के लिए वास्तव में सराहना करते हैं। – Shahsra

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