MySQL--MySQL函数

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

MySQL函数

一、MySQL函数简介

函数表示对输入参数值返回一个具有特定关系的值,MSOL提供了大量丰富的函数,在进行数据库管理以及数据的查询和操作时将会经常用到各种函数。通过对数据的处理,数据库功能可以变得更加强大,可以更加灵活地满足不同用户的需求。各类函数从功能方面主要分为数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等其他函数

二、数学函数

1、绝对值函数ABS(x)和返回圆周率的函数PI()

ABS(X)返回X的绝对值;

 mysql> select ABS(2),ABS(-3.3),ABS(-33);
 # 返回——  2    3.3    33

PI()返回圆周率π的值。默认显示小数位6位;

 mysql> select pi();
 # 返回——  3.141593

2、平方根函数SQRT(X)和求余函数MOD(X,Y)

SQRT(X)返回非负数x的二次方根;

 mysql> select sqrt(9),sqrt(40),sqrt(-40);
 # 返回——  3    6.324555320336759    NULL

MOD(X)返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用;

 mysql> select mod(31,8),mod(234,10),mod(45.5,6);
 # 返回——  7    4    3.5

3、获取整数的函数CEIL(X),CEILING(X)和FLOOR(X)

CEIL(X)和CEILING(X)的意义相同,返回不小于x的最小整数值,返回值转化为一个BIGINT

 mysql> select ceil(-3.35),ceiling(3.35);
 # 返回——  -3    4

FLOOR(x)返回不大于x的最大整数值,返回值转化为一个BIGINT

 mysql> select floor(-3.35),floor(3.35);
 # 返回——  -4    3

4、获取随机数的函数RAND()和RAND(X)

RAND(x)返回一个随机浮点值v,范围在0到1之间(0≤v≤1.0)。若已指定一个整数参数x,则它被用作种子值,用来产生重复序列。

 mysql> select rand(),rand(),rand();
 # 返回——  0.4599793697334634    0.9860691958908636      0.5504079009875729

不带参数的RAND()每次产生的随机数值是不同的

 mysql> select rand(10),rand(10),rand(11);
 # 返回——  0.6570515219653505    0.6570515219653505    0.907234631392392

可以看到,当 RAND(x)的参数相同时,将产生相同的随机数,不同的x产生的随机数值不同

5、函数ROUND(x)、ROUND(x,y)和 TRUNCATE(x,y)

ROUND(x)返回最接近于参数x的整数,对x值进行四舍五入

 mysql> select round(-1.14),round(-1.67),round(1.14),round(1.66);
 # 返回——  -1    -2    1    2

ROUND(x,y)返回最接近于参数x的数,其值保留到小数点后面y位,若y为负值,则将保留x值到小数点左边y位

 mysql> select round(1.38,1),round(1.38,0),round(232.38,-1),round(232.38,-2);
 # 返回——  1.4     1    230    200

TRUNCATE(x,y)返回被舍去至小数点后y位的数字x。若y的值为0,则结果不带有小数点或不带有小数部分。若y设为负数,则截去(归零)x小数点左起第y位开始后面所有低位的值。

 mysql> select truncate(1.31,1),truncate(1.99,1),truncate(1.99,0),truncate(19.99,-1);
 # 返回——  1.3    1.9    1    10

6、符号函数SIGN(X)

SIGN(x)返回参数的符号,x的值为负、零或正时返回结果依次为-1、0或1

 mysql> select sign(-21),sign(0),sign(21);
 # 返回——  -1    0    1

7、幂运算函数POW(X,Y)、POWER(X,Y)和EXP(X)

POW(x,y)或者 POWER(x,y)函数返回x的y次乘方的结果值

 mysql> select pow(2,2),power(2,2),pow(2,-2),power(2,-2);
 # 返回——  4    4    0.25    0.25

EXP(x)返回e的x乘方后的值

 mysql> select exp(3),exp(-3),exp(0);
 # 返回——  20.085536923187668    0.049787068367863944    1

8、对数运算函数 LOG(x)和 LOG10(x)

LOG(x)返回x的自然对数x相对于基数e的对数

 mysql> select log(3),log(-3);
 # 返回——  1.0986122886681098    NULL

LOG10(x)返回x的基数为 10的对数

 mysql> select log10(2),log10(100),log10(-100);
 # 返回——  0.3010299956639812    2    NULL

9、角度与弧度相互转换的函数RADIANS(x)和DEGREES(x)

RADIANS(x)将参数x由角度转化为弧度

mysql> select radians(90),radians(180);
# 返回——  1.5707963267948966    3.141592653589793

DEGREES(x)将参数x由弧度转化为角度

mysql> select degrees(pi()),degrees(pi() / 2);
# 返回——   180    90

10、正弦函数 SIN(x)和反正弦函数 ASIN(x)

SIN(x)返回x正弦,其中x为弧度值

mysql> select sin(1),round(sin(pi()));
# 返回——  0.8414709848078965    0

ASIN(x)返回x的反正弦,即正弦为x的值。若x不在-1到1的范围之内,则返回 NULL。

mysql> select asin(0.8414709848078965),asin(3);
# 返回——  1    NULL

11、余弦函数 COS(x)和反余弦函数 ACOS(x)

COS(x)返回x的余弦,其中x为弧度值

mysql> select cos(0),cos(pi()),cos(1);
# 返回——  1    -1    0.5403023058681398

ACOS(x)返回x的反余弦,即余弦是x的值。若x不在-1~1的范围之内,则返回 NULL

mysql> select acos(1),acos(0),round(acos(0.5403023058681398));
# 返回——  0    1.5707963267948966    1

12、正切函数、反正切函数和余切函数

TAN(x)返回x的正切,其中x为给定的弧度值;

mysql> select tan(0.3),round(tan(pi()/4));
# 返回——  0.30933624960962325     1

ATAN(x)返回x的反正切,即正切为x的值

mysql> select atan(0.30933624960962325),atan(1);
# 返回——  0.3    0.7853981633974483

三、字符串函数

1、计算字符串字符数与长度

CHAR LENGTH(str)返回值为字符串str所包含的字符个数。一个多字节字符算作一个单字符。

​mysql> select char_length('date'),char_length('egg');
# 返回—— 4    3

LENGTH(str)返回值为字符串的字节长度,使用utf8(UNICODE的一种变长字符编码,又称万国码)编码字符集时,一个汉字是3字节,一个数字或字母算1字节

mysql> select length('date'),length('egg');
# 返回—— 4    3

2、合并字符串函数CONCAT(s1,s2)、CONCAT_WS(x,s1,s2,...)

未完...

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小李学不完

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值