I am using the following line within a Select which returns a number with decimals, e.g. 33.33333.
How can I round this within the Select and convert to integers so that I don't have decimals, e.g. in the above example it should return 33 ?
100 * AVG(CASE WHEN col2 = col3 THEN 1.0 ELSE 0.0 END) AS matchPercent
                You can use ROUND function to round the value to integer:
ROUND(INT, 100 * AVG(CASE WHEN col2 = col3 THEN 1.0 ELSE 0.0 END), 0) AS matchPercent
This will retain the type, e.g rounded float will stay float. If you also need to return int data type (or other integer data types), you need to also convert it:
CONVERT(INT, ROUND(INT, 100 * AVG(CASE WHEN col2 = col3 THEN 1.0 ELSE 0.0 END), 0)) AS matchPercent
                        Use the round function to round the number:
ROUND(100 * AVG(CASE WHEN col2 = col3 THEN 1.0 ELSE 0.0 END), 0) AS matchPercent
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With