MySQL 【数字】函数大全(二)

MODPIPOWPOWERRAND
ROUNDSIGNSQRTTRUNCATE
1、MOD

MOD(number1, number2) :返回一个数字除以另一个数字的余数。

语法:

1、MOD(number1, number2)
2、number1 MOD number2
3、number1 % number2

number1:被除数。

number2:除数。

  • 如果 number2 等于 0MOD() 函数将会返回 NULL
  • 如果任何参数为 NULLMOD() 函数将会返回 NULL
SELECT
    MOD(100, 7),
    MOD(100, 10),
    100 MOD 7,
    100 MOD 10,
    100 % 7,
    100 % 10,
    MOD(0, 1),
    MOD(1, 0),
    MOD(NULL, 1),
		MOD(1, NULL)

2、PI

PI() :返回 6 位小数位的 PI 值

SELECT
    PI(),
    PI() + 0.000000000000000,
    PI() * 10000000000000000

3、POW

POW(x, y) :计算 x 的 y 次幂并返回结果。

x:次幂计算中的基数。

y:次幂计算中的指数。

如果任意一个参数为 NULLPOW() 函数将会返回 NULL

SELECT
    POW(2, 0),
    POW(2, 2),
    POW(2, 4),
    POW(2.5, 2),
    POW(2, -2),
    POW(2, -4),
    POW(2, NULL),
    POW(NULL, 2),
    POW(NULL, NULL)

4、POWER

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

x:次幂计算中的基数。

y:次幂计算中的指数。

如果任意一个参数为 NULLPOW() 函数将会返回 NULL

SELECT
    POW(2, 0),
    POW(2, 2),
    POW(2, 4),
    POW(2.5, 2),
    POW(2, -2),
    POW(2, -4),
    POW(2, NULL),
    POW(NULL, 2),
    POW(NULL, NULL)

5、RAND

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

RAND() 返回的是 0 和 1 之间的随机小数,如果你想返回其他区间(比如 m 和 n)的随机数,请使用以下公式:

  • m 和 n 之间的随机数: RAND() * (n - m) + m
  • m 和 n 之间的随机整数: FLOOR(RAND() * (n - m + 1) + m)

返回 0 和 1 之间的随机数

SELECT
    RAND(),
    RAND(),
    RAND(),
    RAND()

返回 10 和 20 之间的随机数

SELECT
    RAND() * (20 - 10) + 10 as A,
    RAND() * (20 - 10) + 10 as B,
    RAND() * (20 - 10) + 10 as C,
    RAND() * (20 - 10) + 10 as D

返回 10 和 20 之间的随机整数

SELECT
    FLOOR(RAND() * (20 - 10 + 1) + 10) as A,
    FLOOR(RAND() * (20 - 10 + 1) + 10) as B,
    FLOOR(RAND() * (20 - 10 + 1) + 10) as C,
    FLOOR(RAND() * (20 - 10 + 1) + 10) as D

6、ROUND

ROUND(x,d) :将数字四舍五入到指定的小数位数。如果需要返回数字的整数部分,请使用 FLOOR(),CEIL(),CEILING()函数。

x:被处理的数字。

d:需要保留的小数位数。

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

7、SIGN

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

  • 如果 number 大于 0SIGN() 函数将会返回 1
  • 如果 number 等于 0SIGN() 函数将会返回 0
  • 如果 number 小于 0SIGN() 函数将会返回 -1
  • 如果 number 为 NULLSIGN() 函数将会返回 NULL
SELECT
    SIGN(123),
    SIGN(123.123),
    SIGN(-123),
    SIGN(-123.123),
    SIGN(0),
    SIGN(NULL)

8、SQRT

SQRT(number) :返回一个数字的平方根。

如果参数 number 是负数或者 NULLSQRT() 函数将会返回 NULL

SELECT
    SQRT(16),
    SQRT(25),
    SQRT(49),
    SQRT(100),
    SQRT(101),
    SQRT(-100),
    SQRT(NULL)

9、TRUNCATE

TRUNCATE(x,d) :截取数字为指定的小数位数。 TRUNCATE() 函数只是按指定的位数截断小数,而不进行四舍五入。如果您需要对小数进行四舍五入,请使用 ROUND()函数。如果需要返回数字的整数部分,请使用FLOOR(),CEIL(),CEILING()函数。

x:被处理的数字。

d:需要保留的小数位数。

  • 如果 d 大于等于 x 的小数位数,则返回原数字。
  • 如果 d 小于 x 的小数位数,则将 x 的小数位数截断为 d 位后返回。
  • 如果 d 为负数,TRUNCATE() 函数将会从小数点开始向整数部分的 d 位数字替换为 0
  • 如果任意一个参数为 NULLTRUNCATE() 函数将会返回 NULL
SELECT
    TRUNCATE(123.179, 1),
    TRUNCATE(123.179, 2),
    TRUNCATE(123.179, 4),
    TRUNCATE(123.179, 0),
    TRUNCATE(123.179, -1),
    TRUNCATE(123.179, -2),
    TRUNCATE(123.179, NULL)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值