SQL Math Functions
SQL provides built-in math functions to perform calculations directly in queries. These functions help with numeric analysis, transformations, and conditional logic.
๐น Common SQL Math Functions with Examples
-- Absolute value
SELECT ABS(-42); -- 42
-- Rounding numbers
SELECT ROUND(123.456, 2); -- 123.46
SELECT CEIL(123.1); -- 124 (MySQL/PostgreSQL)
SELECT CEILING(123.1); -- 124 (SQL Server)
SELECT FLOOR(123.9); -- 123
-- Square root and power
SELECT SQRT(49); -- 7
SELECT POWER(2, 3); -- 8
-- Modulus (remainder)
SELECT MOD(10, 3); -- 1
SELECT 10 % 3; -- 1 (PostgreSQL, SQL Server)
-- Random numbers
SELECT RAND(); -- Random float between 0 and 1 (MySQL, SQL Server)
SELECT RANDOM(); -- PostgreSQL
-- Trigonometric (if supported)
SELECT SIN(PI()/2); -- 1
SELECT COS(0); -- 1
-- PI constant
SELECT PI(); -- 3.141592...๐น Real-World Examples
-- Get rounded discount percentage
SELECT ROUND((discount_price / original_price) * 100, 2) AS discount_pct
FROM products;
-- Check if number is even
SELECT CASE WHEN MOD(id, 2) = 0 THEN 'Even' ELSE 'Odd' END FROM users;
-- Generate a random OTP-like number (MySQL)
SELECT FLOOR(100000 + RAND() * 900000) AS otp;
๐น Function Availability by DBMS
| Function | MySQL | PostgreSQL | SQL Server |
|---|---|---|---|
ABS() | โ | โ | โ |
ROUND() | โ | โ | โ |
CEIL() | โ | โ | CEILING() |
FLOOR() | โ | โ | โ |
MOD() / % | โ / โ | โ / โ | โ / โ |
RAND() | โ | โ (RANDOM()) | โ |
SQRT() / POWER() | โ | โ | โ |
PI() / SIN() etc. | โ | โ | โ |
๐ง Quick Recap
| Task | Example |
|---|---|
| Absolute Value | ABS(-10) |
| Rounding | ROUND(12.345, 2) |
| Ceiling / Floor | CEIL(3.2), FLOOR(3.9) |
| Power / Root | POWER(2,3), SQRT(25) |
| Modulus | MOD(7,2) |
| Random Value | RAND() / RANDOM() |
๐ก Math functions are powerful tools to prepare numerical data for reports, validations, dashboards, and logic branching.