---
title: "PostgreSQL Mathematical Functions"
description: "Like other databases, PostgreSQL boasts a rich set of mathematical functions that handle everything from basic arithmetic to complex trigonometric."
section: "Postgres basics"
---

> **TimescaleDB is now Tiger Data.**



Mathematical functions are an essential part of any programming language or database system. They provide developers with ready-to-use solutions for performing mathematical calculations, thereby increasing coding efficiency and accuracy. PostgreSQL offers a comprehensive set of mathematical functions that can significantly enhance your data-handling capabilities.

> [Learn how to create, list, call, and edit Postgres functions.](https://www.timescale.com/learn/postgres-cheat-sheet/functions)

## 

PostgreSQL's Mathematical Functions

PostgreSQL boasts a rich set of mathematical functions that handle everything from basic arithmetic to complex trigonometric calculations. These include but are not limited to `ABS()`, `CEIL()`, `FLOOR()`, `MOD()`, `ROUND()`, `TRUNC()`, and more. These functions exhibit high performance and precision, making them an invaluable tool for developers. 



## The Benefits of Using PostgreSQL Mathematical Functions


### Increased accuracy

PostgreSQL's mathematical functions are designed to deliver highly accurate results, reducing the likelihood of errors due to manual calculations or less efficient functions provided by other systems.


### Enhanced coding efficiency

These functions allow developers to perform complex calculations directly within the database, reducing the need for external computations and speeding up execution time.




## Real-World Use Cases of PostgreSQL's Mathematical Functions

Let's take a look at some examples of how these functions can be applied to real-world programming projects:

- **E-commerce applications:** The `ROUND()` function can be used to calculate the total cost of items in a shopping cart, including taxes and discounts.
- **Financial systems:** The `CEIL()` and `FLOOR()` functions can be used for rounding up or down monetary values to the nearest whole number.
- **Data analysis tools:** The `MOD()` function can be used to categorize data into different buckets based on certain criteria.





## List of PostgreSQL Mathematical Functions


### **ABS(number)**

The` ABS()` function returns the absolute value of a number.

Example:

`SELECT ABS(-10); -- Returns 10`




### **CEIL(number)**

The `CEIL()` or `CEILING()` function rounds a number up to the nearest integer.

Example:

`SELECT CEIL(7.4); -- Returns 8`




### **MOD(n, m)**

The `MOD()` function returns the remainder of n divided by m.

Example:

`SELECT MOD(10, 3); -- Returns 1`




### **FLOOR(number)**

The `FLOOR()` function rounds a number down to the nearest integer.

Example:

`SELECT FLOOR(7.8); -- Returns 7`




### **ROUND(number, [decimals])**

The `ROUND()` function rounds a number to a certain number of decimal places. If the decimals parameter is omitted, it rounds to the nearest whole number.

Example:

`SELECT ROUND(7.456, 2); -- Returns 7.46`




### **TRUNC(number, [decimals])**

The `TRUNC()` function truncates a number to a certain number of decimal places without rounding. If the decimals parameter is omitted, it truncates to the nearest whole number.

Example:

`SELECT TRUNC(7.456, 2); -- Returns 7.45`




## A Summary on PostgreSQL Mathematical Functions

Postgres’ mathematical functions offer benefits such as increased accuracy and enhanced coding efficiency, and their wide range of applications makes them a must-know for anyone working with PostgreSQL. 

For further reading and a deeper understanding of these functions, you can visit the[ <u>official PostgreSQL documentation</u>](https://www.postgresql.org/docs/current/functions-math.html) or read our next article on aggregate functions.

Remember, the key to mastering these functions lies in practice. So, dive into your PostgreSQL database and start crunching those numbers!



## Use Timescale Functions for Hyper Speed and Ease 

Now that you’ve learned the basics of PostgreSQL functions, it’s time for a better alternative. **Hyperfunctions** are a series of SQL functions within TimescaleDB that make it easier to manipulate and analyze time-series data in PostgreSQL with fewer lines of code. 

You can use hyperfunctions to calculate percentile approximations of data, compute time-weighted averages, downsample and smooth data, and perform faster `COUNT DISTINCT` queries using approximations. Moreover, hyperfunctions are simple to use: you call a hyperfunction using the same SQL syntax you know and love. 

Learn more about [hyperfunctions on our Docs page](https://docs.timescale.com/api/latest/hyperfunctions/), or keep reading for more information on [window functions](https://www.timescale.com/learn/postgresql-window-functions).