Ihr Datum ist eigentlich ein numerischer Wert (Float oder Integer), der in einer char-Spalte gespeichert ist. Sie müssen ihn also in einen numerischen Wert umwandeln (in diesem Fall in float ) zuerst wie:
select convert(datetime, CONVERT(float,date_column))
Ein Wert von 41547.5 ergibt:
`2013-10-02 12:00:00`
Das Stilargument, in Ihrem Fall 6 ist nur notwendig, wenn von oder zu char-Typen konvertiert wird. In diesem Fall wird es nicht benötigt und wird ignoriert.
Hinweis:Der Float-Wert ist die Anzahl der Tage seit 1900-01-01 .
z.B. select convert(datetime, CONVERT(float,9.0)) => 1900-01-10 00:00:00; dasselbe wie select dateadd(day,9.0,'1900-01-01') würde.
Der Dezimalteil der Zahl entspricht ebenfalls Tagen; also 0.5 ist ein halber Tag / 12 Stunden.
z.B. select convert(datetime, CONVERT(float,.5)) => 1900-01-01 12:00:00 . (Hier macht unser Vergleich mit dateadd keinen Sinn, da es sich hier nur um Integer und nicht um Floats handelt).