17.10 - TOP m PERCENT and Rounding - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL Data Definition Language Detailed Topics

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
July 2021
Content Type
Programming Reference
Publication ID
B035-1184-171K
Language
English (United States)

If (m*COUNT(*)/100.0) does not evaluate to an integer value, then Vantage rounds it up to the next highest integer value; otherwise, the intended result is not achieved. The following table shows how rounding occurs:

IF (m*COUNT(*)/100.0) evaluates to this value … THEN the system rounds it up to this value …
0.1                                          1
9.2                                        10

Vantage only applies this rounding up to the first 15 digits following the decimal point. For example, if (m*COUNT(*)/100.0) evaluates to 0.0000000000000001, or 1 x 10-16, then the system does not round it up to 1.