返回顶部
首页 > 资讯 > 数据库 >MYSQL数字函数详解和实战(数字函数大全,内含示例)
  • 568
分享到

MYSQL数字函数详解和实战(数字函数大全,内含示例)

摘要

Mysql提供了许多数字函数,用于对数字进行各种计算和处理。以下是一些常用的mysql数字函数。 内容有点多,建议收藏以备后续用到查阅参考。 目录 一、SIGN 取数字的符号 二、ABS 取绝对值 三、COS 取余弦值 四、AC

Mysql提供了许多数字函数,用于对数字进行各种计算和处理。以下是一些常用的mysql数字函数。

内容有点多,建议收藏以备后续用到查阅参考

目录

一、SIGN 取数字的符号

二、ABS 取绝对值

三、COS 取余弦值

四、ACOS 取反余弦值

五、SIN 取正弦值

六、ASIN 取反正弦值

七、TAN 取正切值

八、ATAN 取反正切值

九、ATAN2 取反正切值

十、 COT 取余切值

十一、CEIL 向上取整

十二、CEILING 向上取整

十三、FLOOR 向下取整

十四、ROUND 取四舍五入

十五、TRUNCATE 截取小数位

十六、CONV 进制转为另一个进制

十七、DIV 取除法值

十八、EXP e的指定数值的次方

十九、GREATEST 取列表的最大值

二十、LEAST 取列表的最小值

二十一、LN 取指定数字的自然对数

二十二、LOG 指定数字的指定底数的对数

二十三、LOG10 指定数字的以 10 为底的对数

二十四、LOG2 指定数字的以 2 为底的对数

二十五、MOD 取两数的余数

二十六、PI 值

二十七、POW 计算 x 的 y 次幂

二十八、POWER 计算 x 的 y 次幂

二十九、SQRT 取平方根

 三十、DEGREES 弧度值转为度数

三十一、RADIANS 度数值转为弧度值

三十二、RAND 取0到1的随机数


一、SIGN 取数字的符号

Mysql SIGN() 函数返回指定的数字的符号。参数为正数、负数和零时分别返回 1-1 和 0

语法:

SIGN(number)

参数说明:

  • number:必需的。 一个数字。

返回值:

  •  返回值为 1-1,0 和 NULL 中的一个:
    • 如果 number 大于 0SIGN() 函数将会返回 1
    • 如果 number 等于 0SIGN() 函数将会返回 0
    • 如果 number 小于 0SIGN() 函数将会返回 -1
    • 如果 number 为 NULLSIGN() 函数将会返回 NULL

示例:

SELECT    SIGN(123),                        -- 1    SIGN(123.123),                    -- 1    SIGN(-123),                        -- -1    SIGN(-123.123),                    -- -1    SIGN(0),                        -- 0    SIGN(NULL)                        -- NULL

二、ABS 取绝对值

MySQL ABS() 函数返回指定数字的绝对值。

语法:

ABS(number)

参数说明:

  • number必需的。 一个用于计算绝对值的数字。

返回值:

  • 返回数字的绝对(正)值。
  • 如果参数 number 为字符串ABS() 将按照如下规则尝试转为数字:
    • 如果以数字开头,则将开头的数字部分转为数字。
    • 如果不能转为数字,则按照 0 处理。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    ABS(100),    -- 100    ABS(-100),          -- 100    ABS('100'),         -- 100    ABS('-100'),        -- 100    ABS('-100A')        -- 100    ABS('A100'),        -- 0    ABS(NULL)           -- null

三、COS 取余弦值

MySQL COS() 函数返回指定数值的余弦值。

语法:

COS(number)

参数说明:

  • number:必需的。 一个用于计算余弦值的数值。

返回值:

  • 指定数值的余弦值。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    COS(2.5),     -- -0.8011436155469337    COS(0.2),     -- 0.9800665778412416    COS(-0.5),       -- 0.8775825618903728    COS(-0.2),     -- 0.9800665778412416    COS(0),          -- 1    COS(PI()),       -- -1    COS(NULL)        -- NULL

四、ACOS 取反余弦值

MySQL ACOS() 函数返回指定数值的反余弦值。

语法:

ACOS(number)

参数说明:

  • number:必需的。 一个用于计算反余弦值的数值。

返回值:

  • 返回指定数值的反余弦值。
  • 返回 NULL情况:
    • number 不在 -1 到 1 之间。
    • number 为 NULL。

示例:

SELECT    ACOS(0.5),    -- 1.0471975511965976    ACOS(0.2),    -- 1.3694384060045657    ACOS(-0.5),    -- 2.0943951023931957    ACOS(-0.2),    -- 1.7721542475852274    ACOS(1),-- 0    ACOS(0),-- 1.5707963267948966    ACOS(-1),-- 3.141592653589793    ACOS(2),-- NULL    ACOS(-2),-- NULL    ACOS(NULL)    -- NULL

五、SIN 取正弦值

MySQL SIN() 函数返回指定数值的正弦值。

语法:

SIN(number)

参数说明:

  • number:必需的。 一个用于计算正弦值的数值。

返回值:

  • 指定数值的正弦值。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    SIN(2.5),    -- 0.5984721441039564    SIN(0.2),    -- 0.19866933079506122    SIN(-0.5),      -- -0.479425538604203    SIN(0),         -- 0    SIN(PI()),      -- 1.2246467991473532e-16    SIN(NULL)       -- NULL

六、ASIN 取反正弦值

MySQL ASIN() 函数返回指定数值的反正弦值。

语法:

ASIN(number)

参数说明:

  • number:必需的。 一个用于计算反正弦值的数值。

返回值:

  • 指定数值的反正弦值。
  • 返回 NULL情况:
    • number 不在 -1 到 1 之间。
    • number 为 NULL。

示例:

SELECT    ASIN(0.5),    -- 0.5235987755982988    ASIN(-0.5),    -- -0.5235987755982988    ASIN(1),-- 1.5707963267948966    ASIN(0),-- 0    ASIN(-1),    -- -1.5707963267948966    ASIN(2),    -- NULL    ASIN(NULL)    -- NULL

七、TAN 取正切值

MySQL TAN() 函数返回指定数值的正切值。

语法:

TAN(number)

参数说明:

  • number:必需的。 一个用于计算正切值的数值。

返回值:

  • 指定数值的正切值。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    TAN(2.5),-- -0.7470222972386602    TAN(0.2),-- 0.20271003550867248    TAN(-0.5),    -- -0.5463024898437905    TAN(0),    -- 0    TAN(PI()),    -- -1.2246467991473532e-16    TAN(NULL)-- NULL

八、ATAN 取反正切值

MySQL ATAN() 函数返回指定数值的反正切值。

语法:

ATAN(number)ATAN(x, y)

参数说明:

  • number:必需的。 一个用于计算反正切值的数值。
  • x, y:必需的。 一个用于计算反正切值的两个数值。x 和 y 的符号用于确定结果的象限。

返回值:

  • 指定数值的反正切值。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    ATAN(2.5),-- 1.1902899496825317    ATAN(0.2),-- 0.19739555984988078    ATAN(-0.5),    -- -0.46364760900080615    ATAN(-0.9, 2),-- -0.4228539261329407    ATAN(PI(), 2),-- 1.0038848218538872    ATAN(NULL)-- NULL

九、ATAN2 取反正切值

MySQL ATAN2() 函数返回指定数值的反正切值。

语法:

ATAN2(x, y)

参数说明:

  • x, y:必需的。 一个用于计算反正切值的两个数值。x 和 y 的符号用于确定结果的象限。

返回值:

  • 指定数值的反正切值。
  • 返回 NULL情况:任一参数为 NULL。

示例:

SELECT    ATAN2(2.5, 1),    -- 1.1902899496825317    ATAN2(0.75, 1),    -- 0.6435011087932844    ATAN2(-0.9, 2),    -- -0.4228539261329407    ATAN2(PI(), 2),    -- 1.0038848218538872    ATAN2(NULL)    -- NULL

十、 COT 取余切值

MySQL COT() 函数返回指定数值的余切值。

语法:

COT(number)

参数说明:

  • number:必需的。 一个用于计算余切值的数值。

返回值:

  • 指定数值的余切值。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    COT(2.5),    -- -1.3386481283041516    COT(0.2),    -- 4.933154875586894    COT(-0.5),    -- -1.830487721712452    COT(PI()),    -- -8.165619676597685e15    COT(NULL)-- NULL

十一、CEIL 向上取整

MySQL CEIL() 函数返回大于或等于指定数字的最小整数值。CEIL() 函数等同于 CEILING() 函数。

语法:

CEIL(number)

参数说明:

  • number:必需的。 一个数字。

返回值:

  • 大于或等于指定数字的最小整数值。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    CEIL(123.123),    -- 124    CEIL(123),        -- 123    CEIL(-123.123),    -- -123    CEIL(-123),        -- -123    CEIL(-100),        -- -100    CEIL(NULL)        -- NULL

十二、CEILING 向上取整

MySQL CEILING() 函数返回大于或等于指定数字的最小整数值。CEILING() 函数等同于 CEIL() 函数。

语法:

CEILING(number)

参数说明

  • number:必需的。 一个数字。

返回值:

  • 大于或等于指定数字的最小整数值。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    CEILING(123.789),-- 124    CEILING(123),-- 123    CEILING(-123.123),-- -123    CEILING(-123),-- -123    CEILING(NULL)-- NULL

十三、FLOOR 向下取整

MySQL FLOOR() 函数返回小于或等于指定数字的最大整数值。

语法:

FLOOR(number)

参数说明:

  • number:必需的。 一个数字。

返回值:

  • 小于或等于指定数字的最大整数值。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    FLOOR(123.123),    -- 123    FLOOR(123),        -- 123    FLOOR(-123.123),-- -124    FLOOR(-123),    -- -123    FLOOR(NULL)        -- NULL

十四、ROUND 取四舍五入

MySQL ROUND() 函数将数字四舍五入到指定的小数位数。

语法:

ROUND(x, d)

参数说明:

  • x:必需的。 被处理的数字。
  • d:必需的。 需要保留的小数位数。

返回值:

  • 将数字四舍五入到指定的小数位数。
  • 如果 d 大于等于 x 的小数位数,则返回原数字。
  • 如果 d 小于 x 的小数位数,则将 x 的小数位四舍五入到 d 位后返回。
  • 如果 d 为负数,ROUND() 函数将会从小数点开始向整数部分的 d 位数字替换为 0
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT    ROUND(123.179, 1),    -- 123.2    ROUND(123.179, 4),    -- 123.179    ROUND(123.179, 0),    -- 123    ROUND(123.179, -2),    -- 100    ROUND(123.179, NULL)-- NULL

十五、TRUNCATE 截取小数位

MySQL TRUNCATE() 函数截取数字为指定的小数位数。 TRUNCATE() 函数只是按指定的位数截断小数,而不进行四舍五入。

语法:

TRUNCATE(x, d)

参数说明:

  • x:必需的。 被处理的数字。
  • d:必需的。 需要保留的小数位数。

返回值:

  • 保留了指定小数位的数字。
  • 如果 d 大于等于 x 的小数位数,则返回原数字。
  • 如果 d 小于 x 的小数位数,则将 x 的小数位数截断为 d 位后返回。
  • 如果 d 为负数,TRUNCATE() 函数将会从小数点开始向整数部分的 d 位数字替换为 0
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT    TRUNCATE(123.179, 1),-- 123.1    TRUNCATE(123.179, 4),-- 123.179    TRUNCATE(123.179, 0),-- 123    TRUNCATE(123.179, -2),    -- 100    TRUNCATE(123.179, NULL)    -- NULL

十六、CONV 进制转为另一个进制

MySQL CONV() 函数将数字从一个进制转为另一个进制,比如从 10 进制转为 2 进制。

语法:

CONV(num, from_base, to_base)

参数说明:

  • num:必需的。一个数字。
  • from_base:必需的。 数字当前使用的进制。从 2 到 36。
  • to_base:必需的。 将数字转为的进制。从 2 到 36。

返回值:

  • 将数字从一个进制转为另一个进制。
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT     CONV('A', 16, 10),-- 10    CONV('C', 16, 10),-- 12    CONV('E', 16, 10),-- 14    CONV('F', 16, NULL)-- NULL

十七、DIV 取除法值

在 MySQL 中, DIV 操作符计算两个整数的除法并返回一个整数结果。

语法:

x DIV y

参数说明:

  • x:必需的。 被除数。
  • y:必需的。 除数。

返回值:

  • x DIV y 返回 x 除以 y 的结果的整数部分。
  • 若参数 x 或者 y 不是整数,则会先将他们转为 DECIMAL 类型后再计算。

示例:

SELECT    10 DIV 3,    -- 3    10 / 3,        -- 3.3333    FLOOR(10/3),-- 3    9.8 DIV 2.6,-- 3    9.8 / 2.6,    -- 3.76923    FLOOR(9.8/2.6)-- 3

十八、EXP e的指定数值的次方

MySQL EXP() 函数返回自然常数 e 的指定数值的次方,例如 EXP(2) 返回结果是 e2

语法:

EXP(number)

参数说明:

  • number:必需的。 次方值。

返回值:

  • 自然常数 e 的指定数值的次方。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    EXP(0),    -- 1    EXP(2),    -- 7.38905609893065    EXP(-1),-- 0.36787944117144233    EXP(NULL)    -- NULL

十九、GREATEST 取列表的最大值

MySQL GREATEST() 函数返回参数列表中的最大值。

语法:

GREATEST(param1, param2, ..., paramN)

参数说明:

  • param1, param2, ..., paramN:必需的。用于比较的参数列表。所有的参数都参与比较。参数可以是任意的数据类型,或者表达式。

返回值:

  • 参数列表中的最大值。
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT    GREATEST(2, 1, 5),        -- 5    GREATEST(2, 1, 5, '0'),        -- 5    GREATEST('a', 'b', 'c'),    -- c    GREATEST('Hello', 'World'),    -- World    GREATEST('a', 'b', NULL)-- NULL

二十、LEAST 取列表的最小值

MySQL LEAST() 函数返回参数列表中的最小值。

语法:

LEAST(param1, param2, ..., paramN)

参数说明:

  • param1, param2, ..., paramN:必需的。用于比较的参数列表。所有的参数都参与比较。参数可以是任意的数据类型,或者表达式。

返回值:

  • 参数列表中的最小值。
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT    LEAST(2, 1, 5),        -- 1    LEAST(2, 1, 5, '0'),    -- 0    LEAST('a', 'b', 'c'),-- a    LEAST('Hello', 'World'),-- Hello    LEAST('a', 'b', NULL)    -- NULL

二十一、LN 取指定数字的自然对数

MySQL LN() 函数返回指定数字的自然对数。

语法:

LN(number)

参数说明:

  • number:必需的。 一个用于计算自然对数的数字。该值必须大于 0

返回值:

  • 指定数字的自然对数。
  • 返回 NULL情况:
    • number 小于或等于 0。
    • number 为 NULL。

示例:

SELECT    LN(1),-- 0    LN(2),-- 0.6931471805599453    LN(0),      -- NULL    LN(-1),-- NULL    LN(NULL)    -- NULL

二十二、LOG 指定数字的指定底数的对数

MySQL LOG() 函数返回指定数字的指定底数的对数。

语法:

LOG(number)LOG(base, number)

参数说明:

  • number:必需的。 一个用于计算对数的数字。该值必须大于 0
  • base:可选参数。 底数。该值必须大于 1

返回值:

  • 指定数字的指定底数的对数。
  • 返回 NULL情况:
    • number 小于或等于 0。
    • base 小于或等于 1。
    • 任意一个参数为 NULL。

示例:

SELECT    LOG(1),        -- 0    LOG(EXP(1), 2),    -- 0.6931471805599453    LOG(10, 100),    -- 2    LOG(-1),    -- NULL    LOG(1, 10),        -- NULL    LOG(NULL)        -- NULL

二十三、LOG10 指定数字的以 10 为底的对数

MySQL LOG10() 函数返回指定数字的以 10 为底的对数。等同于 LOG(10, number) 函数。

二十四、LOG2 指定数字的以 2 为底的对数

MySQL LOG2() 函数返回指定数字的以 2 为底的对数。等同于 LOG(2, number) 函数。

二十五、MOD 取两数的余数

MySQL MOD() 函数返回一个数字除以另一个数字的余数。

语法:

MOD(number1, number2)number1 MOD number2number1 % number2

参数说明:

  • number1:必需的。 被除数。
  • number2:必需的。 除数。

返回值:

  • 一个数字除以另一个数字的余数。
  • 返回 NULL情况:
    • number2 等于 0。
    • number1 为 NULL。

示例:

SELECT    MOD(100, 10),-- 0    100 MOD 7,    -- 2    100 % 7,    -- 2    100 % 10,    -- 0    MOD(0, 1),    -- 0    MOD(1, 0),    -- NULL    MOD(NULL, 1)-- NULL

二十六、PI 值

MySQL PI() 函数返回 6 位小数位的 PI 值。

语法:

PI()

示例:

SELECT    PI(),            -- 3.141593    PI() + 0.000000,    -- 3.141593    PI() * 1000000000000-- 3141592653589.793000

二十七、POW 计算 x 的 y 次幂

MySQL POW(x, y) 函数计算 x 的 y 次幂并返回结果,即: y个x相乘。

语法:

POW(x, y)

参数说明:

  • x:必需的。 次幂计算中的基数。
  • y:必需的。 次幂计算中的指数。

返回值:

  • x 的 y 次幂并返回结果。
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT    POW(2, 0),    -- 1    POW(2.5, 2),-- 6.25    POW(2, -4),    -- 0.0625    POW(2, NULL)    -- NULL

二十八、POWER 计算 x 的 y 次幂

MySQL POWER(x, y) 函数计算 x 的 y 次幂并返回结果,即: xy。 POWER() 函数等同于 POW() 函数。

二十九、SQRT 取平方根

MySQL SQRT() 函数返回一个数字的平方根。

语法:

SQRT(number)

参数说明:

  • number:必需的。 一个用于计算对数的数字。该值必须大于 0

返回值:

  • 参数 number 的平方根。
  • 返回 NULL情况:number 是负数或者 NULL。

示例:

SELECT    SQRT(16),-- 4    SQRT(101),-- 10.04987562112089    SQRT(-100),-- NULL    SQRT(NULL)-- NULL

 三十、DEGREES 弧度值转为度数

MySQL DEGREES() 函数将弧度值转为度数并返回。

语法:

DEGREES(number)

参数说明:

  • number:必需的。 一个表示弧度的数字。

返回值:

  • 指定的弧度值对应的度数。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    DEGREES(0.75),    -- 42.97183463481174    DEGREES(-0.75),    -- -42.97183463481174    DEGREES(0),        -- 0    DEGREES(PI() * 2),-- 360    DEGREES(PI() * -1),-- -180    DEGREES(NULL)    -- NULL

三十一、RADIANS 度数值转为弧度值

MySQL RADIANS() 函数将度数值转为弧度值并返回。

语法:

RADIANS(number)

参数说明:

  • number:必需的。 一个表示度数的数字。

返回值:

  • 指定的弧度值对应的度数。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT    RADIANS(0),    -- 0    RADIANS(360),    -- 6.283185307179586    RADIANS(-360),    -- -6.283185307179586    RADIANS(NULL)-- NULL

三十二、RAND 取0到1的随机数

MySQL RAND() 函数返回一个 0 (包含) 和 1 (不包含) 之间的随机数。

语法:

RAND()RAND(seed)

参数说明:

  • seed:可选的。产生随机数的种子。如果提供了 seedRAND(seed) 函数将产生一个可重复的随机数序列。

返回值:

  • 一个 0 (包含) 和 1 (不包含) 之间的随机数。
  • 若提供了参数 seed,MySQL RAND(seed) 函数将产生一个可重复的随机数序列。
  • 若想返回其他区间(比如 m 和 n)的随机数,请使用以下公式:
    • m 和 n 之间的随机数: RAND() * (n - m) + m
    • m 和 n 之间的随机整数: FLOOR(RAND() * (n - m + 1) + m)

示例:

SELECT    RAND(),-- 0.9892005063492809    RAND(),-- 0.2601393091121123    RAND(),-- 0.3330950572463638    RAND()-- 0.8850573896291268

来源地址:https://blog.csdn.net/imwucx/article/details/134022917

您可能感兴趣的文档:

--结束END--

本文标题: MYSQL数字函数详解和实战(数字函数大全,内含示例)

本文链接: https://www.lsjlt.com/news/452679.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作