आपकी तिथि वास्तव में एक संख्यात्मक मान (फ्लोट या पूर्णांक) है, जो एक चार कॉलम में संग्रहीत है। तो, आपको इसे एक संख्यात्मक मान में बदलने की आवश्यकता है (इस मामले में, float
) पहले, जैसे:
select convert(datetime, CONVERT(float,date_column))
41547.5
. का मान इसका परिणाम होगा:
`2013-10-02 12:00:00`
शैली तर्क, आपके मामले में 6
से या चार-प्रकारों में कनवर्ट करते समय ही आवश्यक है। इस मामले में इसकी आवश्यकता नहीं है और इसे अनदेखा कर दिया जाएगा।
एनबी:फ्लोट वैल्यू 1900-01-01
. के बाद से दिनों की संख्या है .
जैसे select convert(datetime, CONVERT(float,9.0))
=> 1900-01-10 00:00:00
; select dateadd(day,9.0,'1900-01-01')
के समान ही होगा।
संख्या का दशमलव भाग भी दिनों के बराबर होता है; तो 0.5
आधा दिन / 12 घंटे है।
जैसे select convert(datetime, CONVERT(float,.5))
=> 1900-01-01 12:00:00
. (यहां डेटैड से हमारी तुलना का कोई मतलब नहीं है, क्योंकि यह केवल फ्लोट्स के बजाय पूर्णांकों से संबंधित है)।