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目录
2、LN(X) - 返回 X 的自然对数。只有当 X 大于 0 时才有定义
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,因为
LOG2(2) 计算的是 2 的以 2 为底的对数,结果为 1,因为
LOG2(4) 计算的是 4 的以 2 为底的对数,结果为 2,因为
LOG2(8) 计算的是 8 的以 2 为底的对数,结果为 3,因为
LOG2(16) 计算的是 16 的以 2 为底的对数,结果为 4,因为
注意事项
对数函数 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;