mysql数学函数、PI()、POW(X,Y) 或 POWER(X,Y) 、RADIANS(X)、ROUND(X) 、SIGN(X)、SIN(X)、SQRT(X)、TAN(x)、TRUNCATE(x)

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

mysql数据库函数、数学函数、FLOOR()不大于X的最大整数、LN()的自然对数、LOG(B,X)X的B进制对数、LOG2()的以2为底的对数、LOG10()的以10为底的对数、MOD、-CSDN博客文章浏览阅读887次,点赞21次,收藏13次。mysql数据库函数、数学函数、FLOOR()不大于X的最大整数、LN()的自然对数、LOG(B,X)X的B进制对数、LOG2()的以2为底的对数、LOG10()的以10为底的对数、MOD、https://blog.csdn.net/2301_77161927/article/details/141953736?spm=1001.2014.3001.5501mysql数据库函数、数学函数、ABS(X) 绝对值、ACOS(X)弧度制反余弦值、ASIN(X)弧度制反正弦值、ATAN(X)弧度制反正切值、ATAN2、CEIL(X)或CEILING(X)、………-CSDN博客文章浏览阅读1k次,点赞5次,收藏28次。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、pi()返回π的(圆周率)的值。

PI() 函数在 MySQL 中用于返回圆周率 π(pi)的近似值。圆周率 π 是一个数学常数,表示圆的周长与直径之比,其值约为 3.141592653589793。

返回值

返回一个浮点数,表示 π 的近似值。

直接获取 π 的值:

select pi() as pi_values;

计算圆的周长:

如果你知道圆的半径 r,可以通过公式 2 * π * r 来计算圆的周长。 

SELECT PI() * POWER(5, 2) AS area;  -- 半径为 5 的圆的面积

计算扇形的面积:

扇形的面积可以用公式 (θ/360) * π * r^2 来计算,其中 θ 是扇形的角度(以度为单位),r 是半径。

SELECT (45 / 360) * PI() * POWER(5, 2) AS sector_area;  -- 角度为 45 度,半径为 5 的扇形面积

2、POW(X,Y) 或 POWER(X,Y) - 返回 X 的 Y 次幂

 POW(X, Y) 或 POWER(X, Y) 函数在 MySQL 中用于计算 X 的 Y 次幂,即 X 乘以自己 Y 次的结果。这个函数在进行数学计算时非常有用,特别是在处理需要指数运算的场景。

语法

POW(X, Y)

POWER(X, Y)

参数

X:基数,是要被乘的数。
Y:指数,表示 X 被乘的次数。

返回值

返回 X 的 Y 次幂的结果。如果 Y 为 0,则结果总是 1(除了当 X 也为 0 时,此时结果为 NULL,因为 0 的 0 次幂是未定义的)。

示例

正数的正指数:

SELECT POW(2, 3) AS pow_result;

结果将是 8,因为2^{3} = 2 \times 2 \times 2 = 8

正数的负指数:

SELECT POW(2, -3) AS pow_result;

结果将是 0.125,因为2^{-3} = \frac{1}{2^{3}} = \frac{1}{8} = 0.125

负数的正指数:

SELECT POW(-2, 3) AS pow_result;

结果将是 -8,因为\left ( -2^{3} \right ) = -2 \times x -2 \times -2 = -8

负数的负指数:

SELECT POW(-2, -3) AS pow_result;

结果将是 -0.125,因为\left ( 2^{-3} \right ) = \frac{1}{\left ( -2^{3}\right )} = \frac{1}{-8} = -0.125

基数为零的情况:

SELECT POW(0, 0) AS pow_result;

结果将是 NULL,因为0^{0}是未定义的。

指数为零的情况:

SELECT POW(5, 0) AS pow_result;

结果将是 1,因为任何非零数的 0 次幂都是 1。

使用场景

        计算复利:

如果你需要计算基于本金和利率的复利总额,可以使用 POW 函数:

SELECT principal * POW(1 + rate, years) AS compound_interest;

计算几何平均数:

在某些统计分析中,计算几何平均数时可能会用到 POW 函数:

SELECT POW((x1 * x2 * x3), 1/3) AS geometric_mean;

3、RADIANS(X) - 将角度值 X 转换为弧度值

RADIANS(X) 函数在 MySQL 中用于将角度值转换为弧度值。角度和弧度是两种不同的角度测量单位。角度通常以度为单位(如 30 度、90 度等),而弧度是一种基于圆的半径长度的角度测量单位。一个完整的圆周角为 360 度,而在弧度制下,一个完整的圆周角为2𝜋弧度。

公式

角度值转换为弧度值的公式如下:

弧度 = \frac{\pi }{180} \times 角度。

语法

RADIANS(X)

参数

X:表示角度值。

返回值

返回角度值 X 对应的弧度值。

示例
        将 180 度转换为弧度:
SELECT RADIANS(180) AS radians_value;

结果将是𝜋,即大约 3.14159。

        将 90 度转换为弧度:
SELECT RADIANS(90) AS radians_value;

结果将是\frac{\pi }{2} ,即大约 1.5708。

        将 45 度转换为弧度:
SELECT RADIANS(45) AS radians_value;

结果将是\frac{\pi}{4} ,即大约 0.7854。

        实际应用

假设你有一个表 angles,其中包含一些角度值,并且你想将它们转换为弧度值:

CREATE TABLE angles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    degree_value FLOAT
);

INSERT INTO angles (degree_value) VALUES (30), (60), (90), (120), (180);

SELECT id, degree_value, RADIANS(degree_value) AS radian_value
FROM angles;

4、RAND() 或 RAND(N)

RAND() 或 RAND(N) 函数在 MySQL 中用于生成一个随机数。具体来说,它可以生成一个介于 0 和 1 之间的随机浮点数。如果提供了参数 N,则生成的随机数会在 0 和 N 之间。

语法

        无参数:

RAND()

这将返回一个介于 0(包括)和 1(不包括)之间的随机浮点数。

        带参数:

RAND(N)

这将返回一个介于 0(包括)和 N(包括)之间的随机浮点数。

生成一个 0 到 1 之间的随机数:
SELECT RAND() AS random_number;

这将返回一个介于 0 和 1 之间的随机浮点数。

生成1到10之间的随机整数,可以这样写:
SELECT FLOOR(RAND() * 100) + 1;
生成一个 1 到 10 之间的随机整数:
SELECT FLOOR(RAND() * 10 + 1) AS random_number;

这里先用 RAND() 生成一个 0 到 1 之间的随机数,然后乘以 10 并加上 1,得到一个介于 1 和 11 之间的数。最后使用 FLOOR() 函数向下取整,确保结果是一个介于 1 和 10 之间的整数。

5、ROUND(X) 或 ROUND(X,D) - 返回 X 四舍五入到最接近的整数或 D 位小数。

ROUND(X) 或 ROUND(X, D) 函数在 MySQL 中用于将数值四舍五入到最接近的整数或指定的小数位数。这个函数可以根据需要保留一定的精度,并且按照标准的四舍五入规则工作。

语法

ROUND(X)

或者

ROUND(X, D)

参数

X:要四舍五入的数值。
D:可选参数,指定小数点后保留的位数。如果省略此参数,默认为 0,即四舍五入到最接近的整数。

返回值

        四舍五入到整数:
SELECT ROUND(3.5) AS round_result;

结果将是 4,因为 3.5 四舍五入到最接近的整数是 4。

        四舍五入到指定小数位数:
SELECT ROUND(3.555, 2) AS round_result;

结果将是 3.56,因为 3.555 四舍五入到两位小数是 3.56。

        处理负数:
SELECT ROUND(-2.5) AS round_result;

结果将是 -2,因为 -2.5 四舍五入到最接近的整数是 -2。

        处理负数并保留小数位数:
SELECT ROUND(-2.555, 2) AS round_result;

结果将是 -2.56,因为 -2.555 四舍五入到两位小数是 -2.56。

        处理刚好位于两个整数中间的情况:
SELECT ROUND(2.5) AS round_result;

结果将是 2,因为根据 MySQL 的四舍五入规则,2.5 会四舍五入到离它最近的偶数,即 2。

处理刚好位于两个整数中间的情况并保留小数位数:

        处理刚好位于两个整数中间的情况并保留小数位数:
SELECT ROUND(2.55, 1) AS round_result;

结果将是 2.6,因为 2.55 四舍五入到一位小数是 2.6。

6、SIGN(X) - 返回指示 X 符号的整数:-1 如果 X < 0;0 如果 X = 0;1 如果 X > 0

SIGN(X) 函数在 MySQL 中用于确定数值 X 的符号,并返回一个整数来表示该符号。具体来说:

                如果 X 小于 0,则返回 -1。
                如果 X 等于 0,则返回 0。
                如果 X 大于 0,则返回 1。

参数

X:要检测符号的数值。

正数:

SELECT SIGN(5) AS sign_result;

结果将是 1,因为 5 大于 0。

负数:

SELECT SIGN(-5) AS sign_result;

结果将是 -1,因为 -5 小于 0。

零:

SELECT SIGN(0) AS sign_result;

结果将是 0,因为 0 等于 0。

使用场景

        判断数值的符号:
SELECT id, value, SIGN(value) AS value_sign FROM your_table;

数据清理:

        如果你需要标记数据集中的正数、负数或零值,可以使用 SIGN 函数来简化这一过程。

SELECT id, amount, SIGN(amount) AS amount_sign
FROM transactions;

7、SIN(X) - 返回 X(以弧度计)的正弦值

SIN(X) 函数在 MySQL 中用于计算给定角度(以弧度为单位)的正弦值。正弦函数是三角函数的一种,广泛应用于数学、物理和工程领域。在 MySQL 中,输入的角度必须是以弧度表示的。

语法

SIN(X)

参数

X:一个数值,代表一个角度,单位为弧度。

返回值

返回 X 弧度角的正弦值。该值的范围是从 -1 到 1。

计算 90 度角的正弦值:

SELECT SIN(RADIANS(90)) AS sin_90;

结果将是 1,因为 90 度角的正弦值是 1。

计算 45 度角的正弦值:

SELECT SIN(RADIANS(45)) AS sin_45;

结果将是大约 0.7071,因为 45 度角的正弦值约为 0.7071。

直接使用弧度计算:

SELECT SIN(PI()/4) AS sin_pi_over_4;

结果也将是大约 0.7071,因为 PI()/4 相当于 45 度角(π/4 弧度)。

计算 -90 度角的正弦值:

SELECT SIN(RADIANS(-90)) AS sin_minus_90;

结果将是 -1,因为 -90 度角的正弦值是 -1。

计算 0 度角的正弦值:

SELECT SIN(RADIANS(0)) AS sin_0;

结果将是 0,因为 0 度角的正弦值是 0。

        使用场景

                三角计算:
SELECT SIN(RADIANS(angle)) AS sine_value
FROM your_table;

这个查询可以用来计算表中每个角度(以度为单位)的正弦值。

物理或工程计算:
如果你需要根据角度计算力或其他物理量的分量,可以使用 SIN 函数来获取垂直方向上的分量。

8、SQRT(X) - 返回 X 的平方根。只有当 X 不小于 0 时才有定义

SQRT(X) 函数在 MySQL 中用于计算非负数 X 的平方根。如果 X 是一个非负数,那么 SQRT(X) 返回一个非负数 Y,使得 Y * Y = X。如果 X 是一个负数,则 SQRT(X) 将返回 NULL,因为在实数范围内,负数没有平方根。

语法

SQRT(X)

        参数

                X:一个非负数,其平方根将被计算。

        返回值

        返回 X 的平方根。如果 X 是负数,则返回 NULL。

计算正数的平方根:

SELECT SQRT(9) AS sqrt_result;

结果将是 3,因为 3 的平方等于 9。

计算零的平方根:

SELECT SQRT(0) AS sqrt_result;

结果将是 0,因为 0 的平方根是 0。

尝试计算负数的平方根:

SELECT SQRT(-9) AS sqrt_result;

结果将是 NULL,因为负数在实数范围内没有平方根。

计算浮点数的平方根:

SELECT SQRT(2.25) AS sqrt_result;

结果将是 1.5,因为 1.5 的平方等于 2.25。

        使用场景

                几何计算:
SELECT SQRT(x * x + y * y) AS distance FROM coordinates;

这个查询可以用来计算二维平面上从原点到各点的距离。

统计分析:

SELECT SQRT(VAR_POP(column_name)) AS standard_deviation FROM table_name;

9、 TAN(X) - 返回 X(以弧度计)的正切值

TAN(X) 函数在 MySQL 中用于计算给定角度(以弧度表示)的正切值。正切值是一个三角函数,其定义为一个角的正弦值与余弦值的比值。在直角三角形中,一个角的正切值等于该角的对边长度与邻边长度之比。

语法

TAN(X)

参数

X:表示角度的弧度值。请注意,在三角函数中,角度通常是用弧度而不是度数来表示的。如果你有一个以度数表示的角度,可以使用 RADIANS() 函数将其转换为弧度。

返回值

返回给定角度的正切值。

        计算特定弧度的正切值:

SELECT TAN(PI()/4) AS tan_45_degrees;

结果将是 1,因为 PI()/4 等于 45 度的弧度值,而 45 度角的正切值是 1。

        计算一个角度的正切值(度数转弧度):

SELECT TAN(-PI()/4) AS tan_minus_45_degrees;

结果将是 -1,因为 -PI()/4 等于 -45 度的弧度值,而 -45 度角的正切值是 -1。

        计算一个较大的角度的正切值:
 

SELECT TAN(PI()/2) AS tan_90_degrees;

结果将是 16331239353195370 或者类似的大数值,这是因为 TAN(PI()/2) 接近无穷大,但实际在计算机中会被表示为一个非常大的数。理论上,90 度(或 PI()/2 弧度)的正切值是未定义的(无穷大)。

10、TRUNCATE(X,D) - 返回 X,四舍五入到 D 位小数

TRUNCATE(X, D) 函数在 MySQL 中用于截断数值 X 到 D 位小数,而不是四舍五入。这意味着它简单地删除了 D 位小数之后的所有数字,而不是根据四舍五入的规则进行处理。

语法

TRUNCATE(X, D)

        参数

                X:要截断的数值。
                D:指定小数点后保留的位数。

        返回值

返回经过截断后的数值。如果指定了 D,则返回带有 D 位小数的数值。

        截断到整数:

SELECT TRUNCATE(3.5) AS truncate_result;

结果将是 3,因为 3.5 截断到整数部分是 3。

        截断到指定小数位数:

SELECT TRUNCATE(3.555, 2) AS truncate_result;

结果将是 3.55,因为 3.555 截断到两位小数是 3.55。

        处理负数:

SELECT TRUNCATE(-2.5) AS truncate_result;

结果将是 -2,因为 -2.5 截断到整数部分是 -2。

        处理负数并保留小数位数:

SELECT TRUNCATE(-2.555, 2) AS truncate_result;

结果将是 -2.55,因为 -2.555 截断到两位小数是 -2.55。

        处理刚好位于两个整数中间的情况:

SELECT TRUNCATE(2.5) AS truncate_result;

结果将是 2.5,因为 2.55 截断到一位小数是 2.5。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jingyu飞鸟

醒来觉得甚是爱你。

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

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

打赏作者

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

抵扣说明:

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

余额充值