• Jonathan AC Roberts - Thursday, December 13, 2018 9:45 AM

    David Burrows - Thursday, December 13, 2018 7:22 AM

    Jonathan AC Roberts - Thursday, December 13, 2018 2:48 AM

    Jeff Moden - Wednesday, December 12, 2018 8:52 PM

    Jonathan AC Roberts - Wednesday, December 12, 2018 4:16 PM

    I think this might answer your question:
    DECLARE @percentComplete float = 0.55
    select CONVERT(decimal(38,38),@percentComplete )

    On my system, it explains nothing because I get 0.55000000000000000000000000000000000000 from that code.

    On mine I get:0.55000000000000004440892098500626161695

    SQL 2008R2 returns
    0.55000000000000000000000000000000000000

    SQL 2016 returns
    0.55000000000000004440892098500626161695

    This should return a value other than 0.55 on both versions of SQL Server:
    DECLARE @percentComplete float(24) = 0.55
    select CONVERT(decimal(38,38),@percentComplete )

    I get 0.55000001192092896000000000000000000000 on SQL 2012.

    Here's what I get on various versions.

    SQL 2017
    0.55000001192092895507812500000000000000
    SQL 2016
    0.55000001192092895507812500000000000000
    SQL 2014
    0.55000001192092896000000000000000000000
    SQL 2012
    0.55000001192092896000000000000000000000
    SQL 2008 R2
    0.55000001192092896000000000000000000000
    SQL 2005
    0.55000001192092896000000000000000000000

    Michael L John
    If you assassinate a DBA, would you pull a trigger?
    To properly post on a forum:
    http://www.sqlservercentral.com/articles/61537/