Tanggal Anda sebenarnya adalah nilai numerik (float atau integer), disimpan dalam kolom char. Jadi, Anda perlu mengubahnya menjadi nilai numerik (dalam hal ini, menjadi float ) dulu, seperti:
select convert(datetime, CONVERT(float,date_column))
Nilai 41547.5 akan mengakibatkan:
`2013-10-02 12:00:00`
Argumen gaya, dalam kasus Anda 6 hanya diperlukan saat mengonversi dari atau ke tipe-char. Dalam hal ini tidak diperlukan dan akan diabaikan.
NB:Nilai float adalah jumlah hari sejak 1900-01-01 .
misalnya select convert(datetime, CONVERT(float,9.0)) => 1900-01-10 00:00:00; sama dengan select dateadd(day,9.0,'1900-01-01') akan.
Bagian desimal dari angka juga sama dengan hari; jadi 0.5 adalah setengah hari / 12 jam.
misalnya select convert(datetime, CONVERT(float,.5)) => 1900-01-01 12:00:00 . (Di sini perbandingan kami dengan dateadd tidak masuk akal, karena itu hanya berhubungan dengan bilangan bulat daripada float).