sqlite.h


sum

Función del núcleo SQLite y agregada

sum(X)
total(X)

Las funciones agregadas sum() y total() devuelven la suma de todos los valores no NULL en el grupo. Si no hay filas de entrada no NULL, entonces la función sum() devuelve NULL, pero total() devuelve 0.0. Normalmente NULL no es un resultado útil para la suma de ninguna fila, pero el SQL estándar lo require y muchos otros motores SQL implementan sum() de este modo asi que SQLite tambuén lo hace para mantener la compatibilidad. La función no estándar total() se proporciona como una forma conveniente de trabajar sobre este problema de diseño en el lenguaje SQL.

El resultado de total() siempre es un valor en coma flotante. El resultado de sum() es un valor entero si todas las entradas no NULL son enteros. Si cualquier entrada a sum() no es ni un entero o un NULL, entonces sum() devuelve un valor en coma flotante que puede ser una aproximación a la verdadera suma.

Sum() lanzará una excepción "integer overflow" si todas las entradas son enteros o NULL y se produce un desbordamiento en cualquier punto durante el proceso. Total() nunca produce un desbordamiento de entero.