The SQL language has a plethora of numeric and mathematic functions, and in this article, you’ll see how to make use of them.
The following is a list of the most popular SQL Numeric functions:
- ABS
- ACOS
- ASIN
- ATAN
- AVG
- CEILING
- COUNT
- COS
- COT
- DEGREES
- FLOOR
- MAX
- MIN
- POWER
- RADIANS
- RAND
- ROUND
- SIN
- SQRT
- SUM
- TAN
Let’s have a look at them one-by-one
ABS
The SQL ABS function returns the absolute value of a number. An Absolute value means how far a certain number is from zero. For example: -5 is 5 away from 0, and 5 is also 5 away from 0. Here is a short SQL example demonstrating the use of the ABS SQL function
SELECT ABS(-179.3) AS Abs1, ABS(179.3) AS Abs2
Both give the same result of 179.3, as the negative sign gets removed.
ACOS
The ACOS SQL function returns the inverse cosine of a number. The next example shows how to obtain the arc cosine of a certain number:
SELECT ACOS(0.17)
This gives the answer of
1.39996665766579
ASIN
The ASIN SQL function returns the inverse sine of a number. The next example shows how to obtain the arc sine of a certain number:
SELECT SIN(0.17)
This gives the answer of
0.170829669129105
ATAN
The ATAN SQL function returns the inverse tangent of a number. The next example shows how to obtain the arc tangent of a certain number:
SELECT TAN(17)
This gives the answer of:
1.51204050407917
AVG
The AVG SQL function returns the average of an expression. The next example selects all the students whose average marks are greater than 75:
SELECT StudentName, StudentSurname, StudentMarks FROM Students WHERE AVG(StudentMarks) > 75 GROUP BY StudentName, StudentSurname, StudentMarks
The AVG function is an aggregate function (a function that performs a calculation on one or more values, but returns a single value)
CEILING
The CEILING SQL function returns the smallest value(integer) that is greater than or equal to a given number. The next example shows 57, because 57 is the next smallest integer value that is higher than 56.21:
SELECT CEILING(56.21)
COUNT
The COUNT SQL function is also an aggregate function. It returns the number of records returned by a query. The next example will count the number of students that are doing a “Programming” class:
SELECT COUNT(StudentID) FROM Students WHERE StudentCourse = 'Programming'
COS
The COS SQL function returns the cosine of a number. The next example shows how to obtain the cosine of a certain number:
SELECT COS(0.17)
This gives the answer of:
0.985584766909561
COT
The COT SQL function returns the cotangent of a number. The following shows how to obtain the cotangent of a certain number:
SELECT COT(0.17)
This gives the answer of:
5.82557679536221
DEGREES
The DEGREES SQL function converts radian values into degrees. The next example divides PI by 2 to return the 90 degrees:
SELECT DEGREES(PI() / 2)
FLOOR
The FLOOR SQL function returns the largest value(integer) that is smaller than or equal to a given number. The next example shows 56, because 56 is the next biggest integer value that is smaller than 56.21:
SELECT FLOOR(56.21)
MAX
The MAX SQL function is also an aggregate function. It returns the maximum value in a group of values. The next example will show each student’s highest marks:
SELECT StudentName, StudentSurname, MAX(StudentMarks) FROM Students GROUP BY StudentName, StudentSurname, StudentMarks
MIN
The MIN SQL function is also an aggregate function. It returns the minimum value in a group of values. The next example will show each student’s lowest marks:
SELECT StudentName, StudentSurname, MIN(StudentMarks) FROM Students GROUP BY StudentName, StudentSurname, StudentMarks
POWER
The POWER SQL function returns the value of one number raised to the power of another number. The next example shows the result of 11 x 11 x 11 (11 raised to the power of 3), which is 1331:
SELECT POWER(11, 3)
RADIANS
The RADIANS SQL function converts degree values into radians. The next example gets the radian value of 135 degrees:
SELECT RADIANS(135)
RAND
The RAND SQL function produces a random number between zero and one. Here is a quick example:
SELECT RAND()
The above gives me 0.529394917183986 the first time, and 0.156402098552622 the second time
ROUND
The ROUND SQL function rounds numeric values. The next example rounds the value of the sum of StudentMarks field to 2 decimal places where the course is ‘SQL’ and the student’s name is ‘Hannes’:
SELECT StudentName, StudentCourse, ROUND(SUM(StudentMarks), 2) FROM Students WHERE StudentCourse = 'SQL' AND StudentName = 'Hannes' GROUP BY StudentName, StudentCourse
SIN
The SIN SQL function returns the sine of a number. The next example shows how to obtain the sine of a certain number:
SELECT SIN(0.17)
This gives the answer of:
0.169182349066996
SQRT
The SQRT SQL function returns the square root of a number. The next example will return 7, because 7 * 7 equals 49:
SELECT SQRT(49)
SUM
The SUM SQL function is also an aggregate function. It sums values of records returned by a query. The next example sums all the marks for a student named Hannes that is doing an SQL class:
SELECT StudentName, StudentCourse, SUM(StudentMarks) FROM Students WHERE StudentCourse = 'SQL' AND StudentName = 'Hannes' GROUP BY StudentName, StudentCourse
TAN
The TAN SQL function returns the tangent of a number. The next example shows how to obtain the tangent of a certain number:
SELECT TAN(17)
This gives the answer of:
3.49391564547484
Conclusion
SQL is quite powerful, and I hope this guide has helped you with your math problems in SQL