How SQLite’s LN() Function Works

In SQLite, the LN() function returns the natural logarithm (logarithm to the base e) of a given positive number.

This function is helpful in mathematical calculations involving growth rates, exponential functions, and natural logarithmic transformations.

Syntax

LN(X)

Where X is the numeric expression (a positive number) for which you want the natural logarithm. Note that X must be greater than zero; otherwise, the function will return NULL.

Example

Here’s an example where we calculate the natural logarithm of several numbers:

SELECT LN(1) AS ln_result1, 
       LN(2.71828) AS ln_result2,
       LN(10) AS ln_result3;

Result:

+------------+-------------------+------------------+
| ln_result1 | ln_result2 | ln_result3 |
+------------+-------------------+------------------+
| 0.0 | 0.999999327347282 | 2.30258509299405 |
+------------+-------------------+------------------+

Explanation:

  • LN(1) returns 0 because the natural logarithm of 1 is 0.
  • LN(2.71828) returns 0.999999327347282, which is close to 1, as 2.71828 is close to Euler’s number e.
  • LN(10) returns approximately 2.30258509299405, which is the natural logarithm of 10.

Rounding the Results

We can use the ROUND() function to round the results if required:

SELECT ROUND(LN(1), 2) AS ln_result1, 
       ROUND(LN(2.71828), 2) AS ln_result2, 
       ROUND(LN(10), 2) AS ln_result3;

Result:

+------------+------------+------------+
| ln_result1 | ln_result2 | ln_result3 |
+------------+------------+------------+
| 0.0 | 1.0 | 2.3 |
+------------+------------+------------+

Missing Arguments

Calling LN() without an argument results in an error:

SELECT LN();

Result:

Parse error: wrong number of arguments to function LN()
SELECT LN();
^--- error here

The LN() function provides a straightforward way to work with logarithmic transformations in SQLite for mathematical and data processing needs.