MS-SQL long interger 轉換 Datetime 問題

There is a MS-SQL 2005 server and contains a field called modtime that is numeric(19)     

select modtime from [usera].[dbo].[xxx]

and get the following output:      
1225234572608

In JAVA, I put it into timestamp and it returns:      

2008-10-29 06:56:12.608

However, when I run the following SQL, it returns different value.      

select convert(datetime,(((1225234572608) / (1000.0 * 60.0 * 60.0 * 24.0)) ), 121)      

1938-10-29 22:56:12.607

Both the date and tiume is different.

What is the proper way to convert the Long to Datetime in SQL statement?

Thanks.

[ 本帖最後由 donaldfung 於 2008-11-21 12:02 編輯 ]