Solved

T-SQL Simple Two Decimal Places

Posted on 2014-04-11
4
767 Views
Last Modified: 2014-04-11
Hello:

I can't believe that I can't find a simple example of this on the internet, somewhere.

All I want is the number 64.25--not 64 and certainly not 64.00.

The best that I can come up with is the following, and it is giving me 64:

CAST(UPR30301.MTDHOURS_4/100 AS DECIMAL(18, 2))

How do I take "UPR30301.MTDHOURS_4/100" and have the result be 64.25?  That's all I want.  It should be very simple.

Thanks!

TBSupport
0
Comment
Question by:TBSupport
4 Comments
 
LVL 5

Expert Comment

by:mebaby333
ID: 39994729
if your in SSRS you should be able to simply right click on the field in the form and then press properties and format .... then choose the format tab and enter Format Code as "0.00"
0
 
LVL 65

Accepted Solution

by:
Jim Horn earned 500 total points
ID: 39994747
>How do I take "UPR30301.MTDHOURS_4/100" and have the result be 64.25
UPR30301.MTDHOURS_4/CAST(100 AS DECIMAL(18, 2))

Open in new window

What you are experiencing is 'integer division', where T-SQL will interpret the division of two integers as a result that is also an integer, hence 5 / 2 = 2 and not 2.5.

To avoid this, you need to CAST either the numerator or the denominator as a decimal, and not the entire result.

T-SQL Integer Division
0
 
LVL 33

Expert Comment

by:ste5an
ID: 39994755
The problem is the data type precedence. Seems that you're dividing an integer by an integer. Thus the result is integer. The additional cast cannot restore the missing digits as they are not part of the result integer. See

DECLARE @decimal DECIMAL (19,2) = 100;
DECLARE @integer INT = 100;

SELECT	@decimal / 3,		
	@integer / 3,
	@integer / 3.0,
	CAST( @integer / 3.0 AS DECIMAL(19, 2) );

Open in new window

0
 
LVL 69

Expert Comment

by:ScottPletcher
ID: 39994908
CAST(UPR30301.MTDHOURS_4/100.0 AS DECIMAL(18, 2))
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Best Query To Insert One Year Calendar 6 44
SQL compatability in SQL 2016 2 31
Solution for warm standby SQL server 20 34
Sql Query Datatype 2 14
Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Need to grow your business through quality cloud solutions? With everything required to build a cloud platform and solution, you may feel like the distance between you and the cloud is quite long. Help is here. Spend some time learning about the Con…
A company’s greatest vulnerability is their email. CEO fraud, ransomware and spear phishing attacks are the no1 threat to a company’s security. Cybercrime is responsible for the largest loss of money to companies today with losses projected to r…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now