SQL Server data type problem when dividing then printing...

Hi,
I have the SQL statment below and the output is this:
24 / 115
0

I need the second number to be the result of the division - what am I doing wrong??

Thanks,
Tristan
--Calculate Conversion rate
		IF @CountUniqueVisits > 0 AND @CountPurchasers > 0
		BEGIN
			SET @ConversionRate = @CountPurchasers/@CountUniqueVisits
			PRINT CAST(@CountPurchasers AS VARCHAR) + ' / ' + CAST(@CountUniqueVisits AS VARCHAR)
			PRINT CONVERT(VARCHAR, @ConversionRate)
		END
 
OUTPUT:
24 / 115
0

Open in new window

LVL 4
Tristan ShortlandAsked:
Who is Participating?
 
TimCotteeConnect With a Mentor Head of Software ServicesCommented:
Hello TShortland,

What have you declared @ConversionRate as? If it is INT then as the calculation results in a value of less than 1 it will be rounded to the nearest integer - (0).

You need to declare this as numeric instead:

Declare @ConversionRate Numeric(10,3)

For example.

Regards,

TimCottee
0
 
Tristan ShortlandAuthor Commented:
That's done the trick.
Thank you!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.