SQLite 函数

SQLite LOG() 函数返回以 10 为底的对数或给定数字的指定底数的对数。在特殊情况下,它返回以下内容:

  • 如果数字小于或等于0,则返回NULL。
  • 如果base小于或等于1,则返回NULL。

语法

/* 以 10 为底的数字对数 */
LOG(number)

/* 数字到指定底数的对数 */
LOG(base, number) 

参数

base指定底数。必须大于 0 且不等于 1。
number必填。 指定数字。必须大于 0。

返回值

返回给定数字的以 10 为底的对数或指定底数的对数.

示例 1:

下面的示例展示了 LOG() 函数的用法。

SELECT LOG(1);
Result: 0.0

SELECT LOG(1.5);
Result: 0.176091259055681

SELECT LOG(5);
Result: 0.698970004336019

SELECT LOG(0);
Result: NULL

SELECT LOG(3, 4);
Result: 1.26185950714291

SELECT LOG(0.7, 0.8);
Result: NULL

SELECT LOG(5, 10);
Result: 1.43067655807339

SELECT LOG(5, 25);
Result: 2.0 

示例2:

考虑一个名为 Sample 的数据库表,其中包含以下记录:

Datax
Data10.5
Data21
Data35
Data410
Data 550

下面给出的语句可以用于计算列 x 的以 10 为底的对数。

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

这将产生如下所示的结果:

DataxLOG_Value
Data10.5-0.301029995663981
Data210.0
Data350.698970004336019
Data4101.0
Data5501.69897000433602

示例 3:

考虑一个名为 Sample 的数据库表,其中包含以下记录:

Dataxy
Data122
Data232
Data352
Data41010
Data55010

要计算以x列记录为底的y列记录的对数,可以使用以下查询:

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

这将产生如下所示的结果:

DataxyLOG_Value
Data 1221.0
Data 2320.630929753571457
Data 3520.430676558073393
Data 410101.0
Data 550100.588591910067779