## Predict the outcome of the SQL statements

 Author Message bazzkar SSC-Enthusiastic Group: General Forum Members Points: 186 Visits: 72 Comments posted to this topic are about the item Predict the outcome of the SQL statements UMG Developer SSCertifiable Group: General Forum Members Points: 5448 Visits: 2204 Nice question, thanks! Though I think the explanation left a little to be desired. It isn't just that the decimal type was used, it was that the decimal type was used and no precision/scale was specified, so the number got rounded down to 1.0 when it was converted.For example this results in the same thing as all of your float examples:`select Ceiling(convert(decimal(2, 1), 1.09))`Because with a scale of one specified it gets rounded to 1.1 before it goes to ceiling. Toreador SSCarpal Tunnel Group: General Forum Members Points: 4701 Visits: 8171 Knew the answer but had a brain fart and clicked the wrong option, oops!UMG Developer is right about the explanation. Mike Is Here SSCrazy Group: General Forum Members Points: 2060 Visits: 513 Good question but I think a better explaination is:the default of decimal without parameters is (18,0) thus making 1.09 -> 1 and then the ceiling of 1 is 1 John.Norcott SSC Journeyman Group: General Forum Members Points: 75 Visits: 49 Thank you Old Hand. I knew the ceiling function brought you up to the next integer, but I couldn't figure out why the decimal was any different than the float on this one! You're explanation was what I was missing. For some reason I thought the default precision was 2, not 0. I'll be sure to remember that the next time I use a decimal data type. Toreador SSCarpal Tunnel Group: General Forum Members Points: 4701 Visits: 8171 I hope one thing that everybody has learned from these questions is that you should never rely on default precision for anything - you will inevitably get it wrong sooner or later :-) Tom Thomson SSC-Dedicated Group: General Forum Members Points: 36177 Visits: 12793 Good question, but as some have already noted the explanation is a bit lacking.Also, the question was made too easy by the absence of the All 2s option as an answer choice - anyone who knows what ceiling means can eliminate all answers but the correct one with knowing anything at all about decimal or its default precision. Tom Cliff Jones SSCertifiable Group: General Forum Members Points: 5875 Visits: 3648 Tom.Thomson (11/2/2010)Good question, but as some have already noted the explanation is a bit lacking.Also, the question was made too easy by the absence of the All 2s option as an answer choice - anyone who knows what ceiling means can eliminate all answers but the correct one with knowing anything at all about decimal or its default precision.Yes, I agree. The best wrong answer was missing. SQLRNNR SSC Guru Group: General Forum Members Points: 100254 Visits: 18616 Thanks for the question. Jason AKA CirqueDeSQLeilI have given a name to my pain...MCM SQL Server, MVPSQL RNNRPosting Performance Based Questions - Gail Shaw Koen Verbeeck SSC Guru Group: General Forum Members Points: 99853 Visits: 13323 Good question, although it was more about convert than about ceiling.A link to the msdn page for convert and decimal:http://msdn.microsoft.com/en-us/library/ms187928(SQL.90).aspx (convert)http://msdn.microsoft.com/en-us/library/ms187746.aspx (decimal/numeric)The last page describes the gotcha of this question in the explanation of the scale. How to post forum questions.Need an answer? No, you need a question.What’s the deal with Excel & SSIS?My blog at SQLKover.MCSE Business Intelligence - Microsoft Data Platform MVP