log
The log() function returns the base-10 logarithm or logarithm of the specified base of a given number.
Syntax
This example illustrates the syntax of the log() function:
-- base-10 logarithm
LOG(number)
-- logarithm of number
LOG(base, number)
Where:
-
base: The base number. It must be greater than 0 and not equal to 1. -
number: The number logarithm to obtain. It must be a positive number and greater than 0.
Examples
Base-10 logarithm
Basic usage
In this case, the log() function calculates the base-10 logarithm of a specified number.
SELECT LOG(2), LOG(2.5);
The query returns:
log | log
--------------------+---------
0.3010299956639812 | 0.39794
Negative value
In this example, the log() function is applied to negative numbers.
SELECT LOG(-1);
Any input of negative values returns a NaN result.
log
-----
NaN
Logarithm with custom base
Basic usage
In this case, the log() function calculates the logarithm of a specified number.
SELECT LOG(4, 16),
LOG(0.7, 0.8),
LOG(0.5, 10),
LOG(1, NULL);
The query returns:
log | log | log | log
-----+------------+-----------+-----
2 | 0.62562156 | -3.321928 |
Use with a table
Consider a database table called data with the records:
CREATE TABLE data (
data_column TEXT,
x REAL,
y REAL
);
INSERT INTO data (data_column, x, y) VALUES
('Data 1', 0.5, 2),
('Data 2', 1, 2),
('Data 3', 5, 2),
('Data 4', 10, 10),
('Data 5', 50, 10);
SELECT * FROM data;
data_column | x | y
-------------+-----+----
Data 1 | 0.5 | 2
Data 2 | 1 | 2
Data 3 | 5 | 2
Data 4 | 10 | 10
Data 5 | 50 | 10
Use the log() function to calculate the logarithm of column y (as a base) and column x (as a number):
SELECT *, LOG(y, x) AS LOG_Value FROM data;
The query returns:
data_column | x | y | log_value
-------------+-----+----+-----------
Data 1 | 0.5 | 2 | -1
Data 2 | 1 | 2 | 0
Data 3 | 5 | 2 | 2.321928
Data 4 | 10 | 10 | 1
Data 5 | 50 | 10 | 1.69897