mysql数据库函数、数学函数、FLOOR()不大于X的最大整数、LN()的自然对数、LOG(B,X)X的B进制对数、LOG2()的以2为底的对数、LOG10()的以10为底的对数、MOD、

27 篇文章 0 订阅
21 篇文章 0 订阅

 mysql数学函数、PI()、POW(X,Y) 或 POWER(X,Y) 、RADIANS(X)、ROUND(X) 、SIGN(X)、SIN(X)、SQRT(X)、TAN(x)、TRUNCATE(x)-CSDN博客文章浏览阅读523次,点赞11次,收藏21次。mysql数学函数、PI()、POW(X,Y) 或 POWER(X,Y) 、RADIANS(X)、ROUND(X) 、SIGN(X)、SIN(X)、SQRT(X)、TAN(x)、TRUNCATE(x)https://blog.csdn.net/2301_77161927/article/details/141981064?spm=1001.2014.3001.5501

mysql数据库函数、数学函数、ABS(X) 绝对值、ACOS(X)弧度制反余弦值、ASIN(X)弧度制反正弦值、ATAN(X)弧度制反正切值、ATAN2、CEIL(X)或CEILING(X)、………-CSDN博客文章浏览阅读539次,点赞3次,收藏18次。mysql数据库函数、数学函数、ABS(X) 绝对值、ACOS(X)弧度制反余弦值、ASIN(X)弧度制反正弦值、ATAN(X)弧度制反正切值、ATAN2、CEIL(X)或CEILING(X)、………https://blog.csdn.net/2301_77161927/article/details/141936855?spm=1001.2014.3001.5501目录

1、FLOOR(X) 返回不大于 X 的最大整数

2、LN(X) - 返回 X 的自然对数。只有当 X 大于 0 时才有定义

3、LOG(B,X) - 返回 X 的 B 进制对数

自然对数(以 e 为底):

​编辑

指定底数的对数:

使用别名简化查询:

4、LOG2(X) - 返回 X 的以 2 为底的对数

5、MOD(N, M) 或 N % M - 返回 N 除以 M 的余数

返回值

语法

示例

正数除法:

 负数除法:

除数为负数:

被除数和除数均为负数:

除数为零:

使用场景        检查偶数或奇数:

循环计算:


数学函数

1、FLOOR(X) 返回不大于 X 的最大整数

FLOOR(X) 函数在 MySQL 中用于返回不大于 X 的最大整数。也就是说,它将 X 向下取整到最接近的整数。

例如:

FLOOR(3.7) 的结果是 3,因为不大于 3.7 的最大整数是 3。
FLOOR(-3.7) 的结果是 -4,因为不大于 -3.7 的最大整数是 -4。
FLOOR(4) 的结果是 4,因为 4 本身就是一个整数。

SELECT FLOOR(3.7) AS floor_positive_example,
       FLOOR(-3.7) AS floor_negative_example,
       FLOOR(4) AS floor_integer;

select floor(6.999999999999)

2、LN(X) - 返回 X 的自然对数。只有当 X 大于 0 时才有定义

LN(X) 函数在 MySQL 中用于计算 X 的自然对数,这里的基数是自然数 e(约等于 2.71828)。自然对数是指以 e 为底数的对数。只有当 X 是一个正数时,LN(X) 才有定义,即 X > 0。

计算6的自然对数,约等于1.79175.

select ln(6);

SELECT LN(10) AS natural_log_of_10,
       LN(1) AS natural_log_of_1,
       LN(EXP(2)) AS natural_log_of_e_to_the_power_of_2;

LN(10) 计算 10 的自然对数。
LN(1) 计算 1 的自然对数,任何正数的 0 次幂都是 1,因此 ln(1) = 0。
LN(EXP(2)) 计算 e 的 2 次幂的自然对数,由于 EXP(2) 是 e^2,其自然对数就是 2。

3、LOG(B,X) - 返回 X 的 B 进制对数

 如果只提供一个参数,则默认为自然对数(以 e 为底)。

自然对数(以 e 为底):

SELECT LOG(2.718);  -- 这里 2.718 接近 e 的值,但实际上可以简单写成 LOG(2.718) 或者 LOG(2.71828)
SELECT LOG(2.71828);  -- 计算 2.71828 的自然对数,结果应该是接近 1
SELECT LOG(10);      -- 计算 10 的自然对数

指定底数的对数:

SELECT LOG(2, 8);  -- 计算 8 的 2 进制对数,即求解 2^? = 8,答案是 3
SELECT LOG(10, 100);  -- 计算 100 的 10 进制对数,即求解 10^? = 100,答案是 2

使用别名简化查询:

SELECT LOG(2, 32) AS 'Log2Of32';  -- 计算 32 的 2 进制对数,并给结果列命名

4、LOG2(X) - 返回 X 的以 2 为底的对数

LOG2(X) 函数在 MySQL 中用于计算 X 的以 2 为底的对数。以 2 为底的对数在计算机科学和信息理论中非常常见,因为它与二进制系统密切相关。
例如,在计算信息量(比特数)或评估算法的时间复杂度时,经常会用到以 2 为底的对数。
示例

SELECT LOG2(1) AS log2_of_1,
       LOG2(2) AS log2_of_2,
       LOG2(4) AS log2_of_4,
       LOG2(8) AS log2_of_8,
       LOG2(16) AS log2_of_16;

在这个查询中:
LOG2(1) 计算的是 1 的以 2 为底的对数,结果为 0,因为2^{0} = 1
LOG2(2) 计算的是 2 的以 2 为底的对数,结果为 1,因为2^{1} = 2
LOG2(4) 计算的是 4 的以 2 为底的对数,结果为 2,因为2^{2} = 4
LOG2(8) 计算的是 8 的以 2 为底的对数,结果为 3,因为2^{3} = 8
LOG2(16) 计算的是 16 的以 2 为底的对数,结果为 4,因为2^{4} = 16
注意事项
对数函数 LOG2(X) 只能接受正数作为参数。如果 X 是负数或零,则会得到一个错误或无意义的结果。
当 X 等于 1 时,其以任意正数为底的对数都是 0,因为任何非零数的 0 次幂都等于 1。
对数函数在处理非常大或非常接近于零的数时可能会涉及到精度问题。

5、MOD(N, M) 或 N % M - 返回 N 除以 M 的余数

MOD(N, M) 或者 N % M 在 MySQL 中用于计算 N 除以 M 的余数。这个操作通常称为“取模”或“求余”。这个函数非常有用,特别是在进行数值处理时,比如周期性计算或者判断一个数是否能被另一个数整除。

MOD(N, M) 或者 N % M 在 MySQL 中用于计算 N 除以 M 的余数。这个操作通常称为“取模”或“求余”。这个函数非常有用,特别是在进行数值处理时,比如周期性计算或者判断一个数是否能被另一个数整除。

参数
N:被除数。
M:除数。

返回值

返回 N 除以 M 的余数。如果 M 为 0,则返回 NULL,因为除数不能为零。

语法

MOD(N, M)

或者

N % M

示例

正数除法:

SELECT MOD(10, 3) AS mod_result;

结果将是 1,因为 10 除以 3 的商是 3,余数是 1。

 负数除法:

SELECT MOD(-10, 3) AS mod_result;

结果将是 -1,因为 -10 除以 3 的商是 -4,余数是 2,但是 MySQL 的 MOD 函数会返回与被除数符号相同的余数,因此是 -1。

除数为负数:

SELECT MOD(-10, -3) AS mod_result;

结果将是 1,尽管除数是负数,但是余数的符号通常与被除数相同。

被除数和除数均为负数:

SELECT MOD(10, 0) AS mod_result;

结果将是 -1,因为 -10 除以 -3 的商是 3,余数是 -1。

除数为零:

SELECT MOD(10, 0) AS mod_result;

使用场景
        检查偶数或奇数:

SELECT id, (id % 2) AS is_even FROM your_table;

这个查询可以用来找出哪些 ID 是偶数(余数为 0)。

循环计算:

假设你想每 5 行就做一次特殊处理:

SELECT id, (id % 5) AS row_modulo FROM your_table;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jingyu飞鸟

醒来觉得甚是爱你。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值