Recent PostsRecent Posts Popular TopicsPopular Topics
 Home Search Members Calendar Who's On

 Predict the outcome of the SQL statements Rate Topic Display Mode Topic Options
Author
 Message
 Posted Monday, November 1, 2010 10:24 PM
 SSC-Enthusiastic Group: General Forum Members Last Login: Friday, September 3, 2010 4:19 AM Points: 158, Visits: 72
 Comments posted to this topic are about the item Predict the outcome of the SQL statements
Post #1014270
 Posted Tuesday, November 2, 2010 12:16 AM
 SSCrazy Group: General Forum Members Last Login: Tuesday, June 30, 2015 9:47 AM Points: 2,160, Visits: 2,204
 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.
Post #1014294
 Posted Tuesday, November 2, 2010 3:35 AM
 SSCrazy Group: General Forum Members Last Login: Wednesday, November 30, 2016 2:06 AM Points: 2,251, Visits: 8,029
 Knew the answer but had a brain fart and clicked the wrong option, oops!UMG Developer is right about the explanation.
Post #1014337
 Posted Tuesday, November 2, 2010 6:39 AM
 Ten Centuries Group: General Forum Members Last Login: Tuesday, November 15, 2016 7:08 AM Points: 1,402, 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
Post #1014419
 Posted Tuesday, November 2, 2010 6:59 AM
 Valued Member Group: General Forum Members Last Login: Thursday, April 18, 2013 5:41 AM Points: 71, 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.
Post #1014432
 Posted Tuesday, November 2, 2010 7:06 AM
 SSCrazy Group: General Forum Members Last Login: Wednesday, November 30, 2016 2:06 AM Points: 2,251, Visits: 8,029
 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
Post #1014441
 Posted Tuesday, November 2, 2010 7:38 AM
 SSCrazy Eights Group: General Forum Members Last Login: Today @ 7:26 AM Points: 9,830, Visits: 11,900
 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
Post #1014472
 Posted Tuesday, November 2, 2010 9:55 AM
 Hall of Fame Group: General Forum Members Last Login: Monday, November 10, 2014 12:05 PM Points: 3,969, Visits: 3,648
 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.
Post #1014642
 Posted Tuesday, November 2, 2010 2:26 PM
 SSC-Insane Group: General Forum Members Last Login: Today @ 2:21 PM Points: 20,082, Visits: 18,256
 Thanks for the question. Jason AKA CirqueDeSQLeilI have given a name to my pain...MCM SQL Server, MVPSQL RNNRPosting Performance Based Questions - Gail Shaw
Post #1014887
 Posted Wednesday, November 3, 2010 1:01 PM
 SSCoach Group: General Forum Members Last Login: Today @ 7:23 AM Points: 15,506, Visits: 13,168
 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?Member of LinkedIn. My blog at SQLKover. MCSA SQL Server 2012 - MCSE Business Intelligence
Post #1015516

 Permissions