|  | Posted by Erland Sommarskog on 03/05/07 22:11 
machina (mm(at)home.pl) writes:> I would like to convert real data type to datetime type. Example:
 > I have a real data type which is: 23,613456  (23 hours and 0,613456). I
 > would like to have it in hh:mm:ss format. How to do this? Can I use
 > convert/cas function?
 
 There is a slight confusion here. datetime is a binary format. hh:mm:ss
 is a string. But this is possible, although accuracy with the real data
 type os poor. This how you do it:
 
 declare @d real
 select @d = 23.613456
 select @d = @d /24
 select convert(char(8), convert(datetime, @d), 108)
 
 The division with 24 is necessary, because a datetime value consists
 of two parts, which could be interpreted as a decimal number, with
 the integer parts being number of days since 1900-01-01 and the
 fractional hours being something since midnight.
 
 Of course, I have no idea whether your interpretation of 23,613456
 agrees with what the above gives you.
 
 --
 Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
 
 Books Online for SQL Server 2005 at
 http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
 Books Online for SQL Server 2000 at
 http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
  Navigation: [Reply to this message] |