0

Can anyone tell me why this is not returning a decimal- only Zeroes.

Set PercentComplete = (CSCCalled + HospCalled + NoCalls)/(TotalInventory)

CSCCalled is an Integer HospCalled is an Integer NoCalls is an Integer TotalInventory is an Integer

In the TempTable- PercentComplete is Decimal(9,3)

The results end up either being a 1 or 0, not a decimal. Does anyone have any suggestions?

Thanks, Scott

SASUSMC
  • 681
  • 4
  • 20
  • 38
  • Well, let's see. And `INT` + an `INT` + an `INT` divided by an `INT` equals an `INT` – Lamak Mar 30 '15 at 15:38
  • When you divide integers in SQL Server, your result will be an integer. You have to `cast` the values as non-integers to get a non-integer result – alroc Mar 30 '15 at 15:38

1 Answers1

1

You can cast one value to float in order to get a float result or you can add a float constant to promote every integer into a float. Try one of the following:

Set PercentComplete = 1.0 * (CSCCalled + HospCalled + NoCalls)/(TotalInventory)

or

Set PercentComplete = (CAST(CSCCalled AS FLOAT) + HospCalled + NoCalls)/(TotalInventory)
c.bear
  • 1,197
  • 8
  • 21