SQL Server (Transact-SQL) LOG() 函数返回自然对数或给定数字的指定底数的对数。在特殊情况下,它返回以下内容:
- 如果数字小于或等于0,则返回错误。
- 如果base小于或等于0,则返回错误。
- 如果base等于1,则返回错误.
语法
/* 数字的自然对数 */
LOG(number)
/* 数字到指定底数的对数 */
LOG(number, base)
参数
number | 必填。 指定数字。必须大于 0。 |
base | 指定底数。必须大于0且不等于1。 |
返回值
返回自然对数或以指定底数的对数
示例 1:
下面的示例显示了 LOG() 函数的用法。
SELECT LOG(1);
Result: 0
SELECT LOG(1.5);
Result: 0.4054651081081644
SELECT LOG(5);
Result: 1.6094379124341003
SELECT LOG(4, 3);
Result: 1.2618595071429148
SELECT LOG(0.8, 0.7);
Result: 0.6256216061886871
SELECT LOG(10, 0.5);
Result: -3.3219280948873626
SELECT LOG(25, 5);
Result: 2
示例 2:
考虑一个名为 Sample 的数据库表,其中包含以下记录:
Data | x |
---|---|
Data 1 | 0.5 |
Data 2 | 1 |
Data 3 | 5 |
Data 4 | 10 |
Data 5 | 50 |
下面给出的语句可用于计算基数x 列的 10 对数。
SELECT *, LOG(x, 10) AS LOG_Value FROM Sample;
这将产生如下所示的结果:
Data | x | LOG_Value |
---|---|---|
Data 1 | 0.5 | -0.30102999566398114 |
Data 2 | 1 | 0 |
Data 3 | 5 | 0.6989700043360187 |
Data 4 | 10 | 1 |
Data 5 | 50 | 1.6989700043360185 |
示例 3:
考虑一个名为Sample的数据库表,其中包含以下记录:
Data | x | y |
---|---|---|
Data 1 | 0.5 | 2 |
Data 2 | 1 | 2 |
Data 3 | 5 | 2 |
Data 4 | 10 | 10 |
Data 5 | 50 | 10 |
计算列x的记录的对数,以列的记录为底y,可以使用以下查询:
SELECT *, LOG(x, y) AS LOG_Value FROM Sample;
这将产生如下所示的结果:
Data | x | y | LOG_Value |
---|---|---|---|
Data 1 | 0.5 | 2 | -1 |
Data 2 | 1 | 2 | 0 |
Data 3 | 5 | 2 | 2.321928094887362 |
Data 4 | 10 | 10 | 1 |
Data 5 | 50 | 10 | 1.6989700043360185 |