| MOD | PI | POW | POWER | RAND | 
| ROUND | SIGN | SQRT | TRUNCATE | 
1、MOD
MOD(number1, number2) :返回一个数字除以另一个数字的余数。
语法:
1、MOD(number1, number2)
2、number1 MOD number2
3、number1 % number2
number1:被除数。
number2:除数。
- 如果
number2等于0,MOD()函数将会返回NULL。- 如果任何参数为
NULL,MOD()函数将会返回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:次幂计算中的指数。如果任意一个参数为
NULL,POW()函数将会返回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:次幂计算中的指数。如果任意一个参数为
NULL,POW()函数将会返回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。- 如果任意一个参数为
NULL,ROUND()函数将会返回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大于0,SIGN()函数将会返回1。- 如果
number等于0,SIGN()函数将会返回0。- 如果
number小于0,SIGN()函数将会返回-1。- 如果
number为NULL,SIGN()函数将会返回NULL。
SELECT
    SIGN(123),
    SIGN(123.123),
    SIGN(-123),
    SIGN(-123.123),
    SIGN(0),
    SIGN(NULL)

8、SQRT
SQRT(number) :返回一个数字的平方根。
如果参数
number是负数或者NULL,SQRT()函数将会返回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。- 如果任意一个参数为
NULL,TRUNCATE()函数将会返回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)




















