PostgreSQL Tutorial PostgreSQL Advanced PostgreSQL Database Account Management PostgreSQL References
PostgreSQL Tutorial PostgreSQL Advanced PostgreSQL Database Account Management PostgreSQL References

PostgreSQL LOG() Function



The PostgreSQL LOG() function returns the base-10 logarithm or logarithm to the specified base of a given number. In special cases it returns the following:

  • If the number is less than or equal to 0, then an error is returned.
  • If the base is less than or equal to 0, then an error is returned.
  • If the base is equal to 1, then an error is returned.

Syntax

/* base-10 logarithm of number */
LOG(number)

/* logarithm of number to the specified base */
LOG(base, number)

Parameters

base Specify the number. Must be greater than 0 and not equal to 1.
number Required. Specify the number. Must be greater than 0.

Return Value

Returns the base-10 logarithm or logarithm to the specified base of a given number.

Example 1:

The example below shows the usage of LOG() function.

SELECT LOG(1);
Result: 0

SELECT LOG(1.5);
Result: 0.1760912590556812

SELECT LOG(5);
Result: 0.6989700043360189

SELECT LOG(3, 4);
Result: 1.2618595071429149

SELECT LOG(0.7, 0.8);
Result: 0.6256216061886873

SELECT LOG(0.5, 10);
Result: -3.3219280948873623

SELECT LOG(5, 25);
Result: 2.0000000000000000

Example 2:

Consider a database table called Sample with the following records:

Datax
Data 10.5
Data 21
Data 35
Data 410
Data 550

The statement given below can be used to calculate the base-10 logarithm of column x.

SELECT *, LOG(10, x) AS LOG_Value FROM Sample;

This will produce the result as shown below:

DataxLOG_Value
Data 10.5-0.3010299956639812
Data 210.0000000000000000
Data 350.6989700043360188
Data 4101.0000000000000000
Data 5501.6989700043360188

Example 3:

Consider a database table called Sample with the following records:

Dataxy
Data 10.52
Data 212
Data 352
Data 41010
Data 55010

To calculate the logarithm of records of column x with base as records of column y, the following query can be used:

SELECT *, LOG(y, x) AS LOG_Value FROM Sample;

This will produce the result as shown below:

DataxyLOG_Value
Data 10.52-1.0000000000000000
Data 2120.0000000000000000
Data 3522.3219280948873623
Data 410101.0000000000000000
Data 550101.6989700043360188

❮ PostgreSQL Functions