Using SUM Instead of CSUM
The use of CSUM is strongly discouraged. CSUM is a Teradata extension to the ANSI SQL:2011 standard, and is equivalent to the ANSI-compliant SUM window function that specifies ROWS UNBOUNDED PRECEDING as its aggregation group. CSUM is retained only for backward compatibility with existing applications.
Possible Result Overflow with SELECT Sum
When using this function, the result can create an overflow when the data type and format are not in sync. For a column defined as:
Salary Decimal(15,2) Format ‘$ZZZ,ZZ9.99’The following query:
SELECT SUM (Salary) FROM Employee;causes an overflow because the decimal operand and the format are not in sync.
To avoid possible overflows, explicitly specify the format for decimal sum to specify a format large enough to accommodate the decimal sum resultant data type.
SELECT Sum(Salary) (format ‘$Z,ZZZ,ZZZ,ZZ9.99) FROM Employee;